使わないので何回読んでも都度忘れるから定期的に勉強し直さないといけないビット演算
- 2の補数の表現において、一番左のビットは符号ビットと呼ばれ、これが1の時は負の数になる
- そのため、32 bit で数の表現をする場合、最大の正の数は一番左のビットを0とする必要がある
0b01111111111111111111111111111111 === 2147483647
- 正の整数を負の整数に変換するときは正の整数から1 を引いて、その後全ビットをひっくり返す
- NOT: 全ビットをひっくり返す
- AND: 一部だけを取り出したい時(マスク)に使う。欲しい桁のところだけ1にして残りは0にすればいらない桁のところは全部0で出てくるから。
- OR: 上書きとしてフラグの適用などに使う。フラグの部分以外0にしとけばフラグのところ以外は元の数値のままだから。
- XOR: あまり使わない。両方の数が合わない時だけ1になる。