将十六进制转换为十进制值

时间:2013-01-08 21:18:16

标签: java

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

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

2 个答案:

答案 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