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