web-dev-qa-db-ja.com

java

Javaでビットマスクを使用する方法と場所を教えてください。

以下のコードがわかりません。

int bitmask=1;    
if ((bitmask & 1) == 1) // what it does
10
Thanga

演算子&の結果値は、オペランド値のビットごとのANDです。

これは、2つの整数(2進表現)に適用すると、両方のビットが同じ位置にある場合にのみ各ビットが1に設定され、それ以外の場合は0になる整数になることを意味します。

int a =     0b01010111;
int b =     0b11111111;
//result in 0b01010111

System.out.println(a & b);//print 87 which is decimal representation of 0101 0111

さて、私の説明を理解したなら、あなたが私たちに示す例は、

if(true)//because 1 == 1 will always be true.

2つの同じ番号(1と1)で&を実行すると、この番号(この場合は1)が自動的に返されます。

11