Javaでビットマスクを使用する方法と場所を教えてください。
以下のコードがわかりません。
int bitmask=1;
if ((bitmask & 1) == 1) // what it does
演算子&
の結果値は、オペランド値のビットごとの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)が自動的に返されます。