如何在C#中将int转换为两个字节?

时间:2010-10-12 23:23:07

标签: c# byte int

如何在C#中将int转换为两个字节?

5 个答案:

答案 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!