2010-03-29 28 views
7

Hola, tengo un problema simple que me ha estado molestando y puedo encontrarle una solución. Obtuve una matriz que contiene datos int firmados, necesito convertir cada valor en la matriz a 2 bytes. Estoy usando C# e intenté usar BitConverter.GetBytes (int) pero devuelve una matriz de 4 bytes.Convertir 16 bits con la firma int a 2 bytes?

¿Algún ayuda?

gracias Tristán

Respuesta

15

Un Valor de 16 bits está mejor representado como un lugar de shortint - a fin de utilizar BitConverter.GetBytes(short).

Sin embargo, como alternativa:

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