2010-03-29 86 views
7

嗨,我得到了一个简单的问题,一直在窃听我,我可以找到解决办法。我得到一个包含带符号整型数据的数组,我需要将数组中的每个值转换为2个字节。我使用C#,我尝试使用BitConverter.GetBytes(int),但它返回一个4字节的数组。将16位signed int转换为2个字节?

任何帮助?

感谢特里斯坦

回答

15

有符号的16位值作为short而非int最能代表 - 所以使用BitConverter.GetBytes(short)

然而,作为替代方案:

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