0

如果我的十六进制值为 53,那么在 Java 中查看第 6 位和第 7 位的值的最佳方法是什么?位 1 将被视为最低有效位(或字节内的最右边位)。

目标是获取 bit6 和 bit7 并将它们转换为组合的十进制形式。

4

2 回答 2

2

我认为最简单的方法是:

int bits7And8 = (byteValue >>> 5) & 3;

这将为您提供最低两位位置的第 6 位和第 7 位。如果您需要它们的值作为String

String bits7And8String = Integer.toString(bits7And8);
于 2013-01-08T21:19:42.047 回答
1

这很容易:

byte b = 53;
boolean bit6 = ((b >> 5) & 1) == 1;
boolean bit7 = ((b >> 6) & 1) == 1;

或者:

byte b = 53;
int bit6and7 = b & (0x3 << 5); // Will give: 0 bit7 bit6 0 0 0 0 0

或者:

byte b = 53;
int bit6and7 = (b >> 5) & 0x3; // Will give: 0 0 0 0 0 0 bit7 bit6
于 2013-01-08T21:21:54.573 回答