1
and
の数値とその2の補数の演算を行うときに意味がありますか?例えば番号とその2の補数
:
int x = 31;
int result = x & (-x)
はどんな意味論的な意味を保持する結果としていますか?
and
の数値とその2の補数の演算を行うときに意味がありますか?例えば番号とその2の補数
:
int x = 31;
int result = x & (-x)
はどんな意味論的な意味を保持する結果としていますか?
結果には1ビットが設定されます。これは、x
の最下位ビットです。換言すれば、結果は、「丸い」x
が奇数の場合2:1、2の倍数が2、4の倍数が4などであることを示します。
これは、-x
が。 の下位1はすべて0になり、~x
の下位0は1になり、これはx
と~x + 1
の唯一のビットになります共通点がある。