Comment diviser un ushort en deux variables d'octets en C#?Convertir une valeur d'ushort en deux valeurs d'octet en C#
J'ai essayé les éléments suivants (package.FrameID est ushort):
Lorsque je tente de calculer avec du papier crayon & je reçois le bon résultat. De plus, si FrameID est plus grand qu'un octet (donc le second octet n'est pas nul), cela fonctionne.
array[0] = (byte)(0x0000000011111111 & package.FrameID);
array[1] = (byte)(package.FrameID >> 8);
Dans mon cas package.FrameID est 56 et le résultat dans le tableau [0] est 16 au lieu de 56.
Comment puis-je résoudre ce problème?
'0x0f' est 1 octet, si nous effectuons une opération' bit and' dessus et 'ushort', la valeur de retour est seulement le quartet inférieur de l'octet inférieur, je pense qu'il est' 0x00ff'. –
@KingKing Merci, corrigé la faute de frappe –