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

Tri*_*ele 7 c#

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

有帮助吗?

谢谢特里斯坦

Jon*_*eet 16

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

但是,作为替代方案:

byte lowByte = (byte) (value & 0xff);
byte highByte = (byte) ((value >> 8) & 0xff);
Run Code Online (Sandbox Code Playgroud)