JavaScript | ビット演算子とシフト演算子

JavaScript JavaScript
スポンサーリンク

主な内容の要点

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。
タイトルとURLをコピーしました