如何在C#中将int转换为两个字节?
答案 0 :(得分:14)
假设你只想要低字节:
byte b0 = (byte)i,
b1 = (byte)(i>>8);
但是,因为'int'是'Int32',所以剩下2个字节未被捕获。
答案 1 :(得分:4)
您可以使用BitConverter.GetBytes来获取包含Int32的字节。结果中将有4个字节,但不是2个。
答案 2 :(得分:2)
另一种方法,虽然不像其他方法那样光滑:
Int32 i = 38633;
byte b0 = (byte)(i % 256);
byte b1 = (byte)(i / 256);
答案 3 :(得分:2)
是int16吗?
Int16 i = 7;
byte[] ba = BitConverter.GetBytes(i);
这只有两个字节。
答案 4 :(得分:0)
选项1:
byte[] buffer = BitConverter.GetBytes(number);
选项2:
byte[] buffer = new byte[2];
buffer[0] = (byte) number;
buffer[1] = (byte)(number >> 8);
我更喜欢选项1!