结合在Java中的两个字节(Combining two bytes in Java)

2019-09-21 04:34发布

有两个字节,如何从第一个字节,从第二的最后5取前3位做出新的字节?

例如,如何将这项为1110000000011111 ==> 11111111

我使用Java。

Answer 1:

byte b1, b2;

取前3位: b1 & 0xE0

采取最后5位: b2 & 0x1F

串联: b1 | b2 b1 | b2



Answer 2:

您可以使用该位集合类。 有一个在一个例子在这里 。



Answer 3:

使用口罩0xE0 (11100000)和0x1F (00011111),就可以屏蔽掉你不想要的位和位或在一起:

byte b1 = 123; // 01111011
byte b2 = 50;  // 00110010

byte b3 = (b1 & 0xE0) | (b2 & 0x1F);  // = 114  01110010


Answer 4:

(b1 & 0xe0) | (b2 & 0x1f)



文章来源: Combining two bytes in Java