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