有两个字节,如何从第一个字节,从第二的最后5取前3位做出新的字节?
例如,如何将这项为11100000
和00011111
==> 11111111
?
我使用Java。
有两个字节,如何从第一个字节,从第二的最后5取前3位做出新的字节?
例如,如何将这项为11100000
和00011111
==> 11111111
?
我使用Java。
byte b1, b2;
取前3位: b1 & 0xE0
采取最后5位: b2 & 0x1F
串联: b1 | b2
b1 | b2
您可以使用该位集合类。 有一个在一个例子在这里 。
使用口罩0xE0
(11100000)和0x1F
(00011111),就可以屏蔽掉你不想要的位和位或在一起:
byte b1 = 123; // 01111011
byte b2 = 50; // 00110010
byte b3 = (b1 & 0xE0) | (b2 & 0x1F); // = 114 01110010
(b1 & 0xe0) | (b2 & 0x1f)