如果我的十六进制值为 53,那么在 Java 中查看第 6 位和第 7 位的值的最佳方法是什么?位 1 将被视为最低有效位(或字节内的最右边位)。
目标是获取 bit6 和 bit7 并将它们转换为组合的十进制形式。
如果我的十六进制值为 53,那么在 Java 中查看第 6 位和第 7 位的值的最佳方法是什么?位 1 将被视为最低有效位(或字节内的最右边位)。
目标是获取 bit6 和 bit7 并将它们转换为组合的十进制形式。
我认为最简单的方法是:
int bits7And8 = (byteValue >>> 5) & 3;
这将为您提供最低两位位置的第 6 位和第 7 位。如果您需要它们的值作为String
:
String bits7And8String = Integer.toString(bits7And8);
这很容易:
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