2010-03-29 9 views
7

Salut j'ai eu un problème simple qui m'a embêté et je peux trouver une solution à cela. J'ai un tableau qui contient des données int signées, j'ai besoin de convertir chaque valeur dans le tableau à 2 octets. J'utilise C# et j'ai essayé d'utiliser BitConverter.GetBytes (int) mais il retourne un tableau de 4 octets.Convertit un entier signé 16 bits en 2 octets?

Une aide?

grâce tristan

Répondre

15

Une valeur signée 16 bits est le mieux représenté comme short plutôt que int - donc utiliser BitConverter.GetBytes(short).

Cependant, comme une alternative:

byte lowByte = (byte) (value & 0xff); 
byte highByte = (byte) ((value >> 8) & 0xff); 
Questions connexes