嗨,我遇到了一个困扰我的简单问题,我可以找到解决方案。我有一个包含signed int数据的数组,我需要将数组中的每个值转换为2个字节。我正在使用C#,我尝试使用BitConverter.GetBytes(int),但它返回一个4字节的数组。
任何帮助?
感谢特里斯坦
答案 0 :(得分:16)
有符号的16位值最好用short
表示,而不是int
- 所以请使用BitConverter.GetBytes(short)
。
但是,作为替代方案:
byte lowByte = (byte) (value & 0xff);
byte highByte = (byte) ((value >> 8) & 0xff);