0

16進値が53の場合、ビット6とビット7の値を確認するためのJavaでの最良の方法は何ですか?ビット1は、最下位ビット(またはバイト内の右端のビット)と見なされます。

目標は、bit6とbit7を取得し、それらを組み合わせた10進数形式に変換することです。

4

2 に答える 2

2

最も簡単な方法は次のとおりです。

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

これにより、ビット6と7が最下位の2ビット位置になります。としての価値が必要な場合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 に答える