主な内容の要点
1. ビット演算子とは?
- 数値を 2進数(0と1) に変換して、ビット単位で計算する演算子。
- JavaScriptの数値は内部的に64ビット浮動小数点数だけど、ビット演算は 32ビット整数 に変換して処理される。
- 小数点以下や32ビットを超える部分は切り捨てられる。
2. 主なビット演算子
| 演算子 | 名前 | 動作のイメージ |
|---|---|---|
& | AND(論理積) | 両方のビットが1なら1 |
| | OR(論理和) | どちらかが1なら1 |
^ | XOR(排他的論理和) | 片方だけが1なら1 |
~ | NOT(論理否定) | 0を1に、1を0に反転 |
3. シフト演算子
| 演算子 | 名前 | 動作のイメージ |
|---|---|---|
<< | 左シフト | 指定ビット数だけ左にずらす(右端は0で埋める) |
>> | 右シフト(符号あり) | 指定ビット数だけ右にずらす(左端は符号ビットで埋める) |
>>> | 右シフト(符号なし) | 指定ビット数だけ右にずらす(左端は常に0で埋める) |
4. 注意点
~(NOT)は結果が マイナスの数 になることがある(2の補数表現を使うため)。>>と>>>の違いは「負の数を扱うとき」に出る。>>は符号を保持する(負のまま)。>>>は符号を無視して正の数に変換される。
初心者向けまとめ
- ビット演算は「数値を0と1の組み合わせで直接操作する」仕組み。
- 普段の開発ではあまり使わないけど、フラグ管理 や 高速な計算処理 に役立つ。
- まずは
&|^~の4つと、<<>>>>>の3つを覚えればOK。
