将16位signed int转换为2个字节?

时间:2010-03-29 13:57:32

标签: c#

嗨,我遇到了一个困扰我的简单问题,我可以找到解决方案。我有一个包含signed int数据的数组,我需要将数组中的每个值转换为2个字节。我正在使用C#,我尝试使用BitConverter.GetBytes(int),但它返回一个4字节的数组。

任何帮助?

感谢特里斯坦

1 个答案:

答案 0 :(得分:16)

有符号的16位值最好用short表示,而不是int - 所以请使用BitConverter.GetBytes(short)

但是,作为替代方案:

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