从int获取单个字节

时间:2013-11-06 19:41:01

标签: c# binary

我有一个int号码。例如5630(十进制)。二进制数是:

  

00000000 00000000 00010101 11111110

我想得到十进制的第二个字节(00010101)。 我怎么得到它?

3 个答案:

答案 0 :(得分:4)

您可以使用BitConverter.GetBytes()

int intValue = 5630;
byte[] intBytes = BitConverter.GetBytes(intValue);
byte result = intBytes[1];  // second least-significant byte

或者只是向右移位8位并转换为字节(截断左位):

((byte)(intValue >> 8))

答案 1 :(得分:3)

按位{和{1}}进行 (十六进制,00000000 00000000 11111111 00000000),右移8位。

0xFF00

或者,首先进行位移,并通过& -ing除去高位字节 var x = 5630; var secondByte = (x & 0xFF00) >> 8;
十进制255,或(十六进制00000000 00000000 00000000 11111111

0xFF

答案 2 :(得分:0)

Bitshift down并施放到byte

int num = 5630;
byte second_byte = (byte)(num >> 8);