カテゴリ: JavaScript 更新日: 2025/12/11

JavaScriptのビット演算子の基本と活用例まとめ

JavaScriptのビット演算子の基本と活用例まとめ
JavaScriptのビット演算子の基本と活用例まとめ

先生と生徒の会話形式で理解しよう

生徒

「先生、JavaScriptでビット演算ってよく聞くけど、そもそもビットって何ですか?」

先生

「ビットとは、0か1のどちらかの値を持つ最小の単位です。コンピュータは内部で数字をこの0と1で表して計算しています。」

生徒

「なるほど。でも、普通の足し算や掛け算と何が違うんですか?」

先生

「ビット演算は、数字を2進数に変換して、その各桁ごとに論理演算を行う方法です。高速に処理できるため、特定の計算やフラグ管理などでよく使われます。」

1. ビット演算子の種類

1. ビット演算子の種類
1. ビット演算子の種類

JavaScriptでよく使われるビット演算子には以下の種類があります。

  • &(AND演算): 両方のビットが1のときだけ1になります。
  • |(OR演算): どちらかのビットが1なら1になります。
  • ^(XOR演算): どちらか一方が1のとき1になります。
  • ~(NOT演算): ビットを反転させます。
  • <<(左シフト): ビットを左に移動させます。
  • >>(右シフト): ビットを右に移動させます(符号付き)。
  • >>>(右シフト): ビットを右に移動させます(符号なし)。

2. AND演算とOR演算の基本

2. AND演算とOR演算の基本
2. AND演算とOR演算の基本

AND演算とOR演算は、フラグ管理や条件チェックによく使われます。


// AND演算
console.log(5 & 3); // 1
// OR演算
console.log(5 | 3); // 7

1
7

ここで、5は2進数で0101、3は0011です。AND演算は両方1の桁だけ1になるため0101 & 0011 = 0001となり、結果は1です。

3. XOR演算とNOT演算

3. XOR演算とNOT演算
3. XOR演算とNOT演算

XOR演算はビットが異なる場合に1になります。NOT演算はビットを反転させます。


// XOR演算
console.log(5 ^ 3); // 6
// NOT演算
console.log(~5); // -6

6
-6

NOT演算は、符号付き整数の二進数表現で反転するため、マイナスの値になります。

4. シフト演算の使い方

4. シフト演算の使い方
4. シフト演算の使い方

シフト演算はビットを左右にずらすことができ、数値の2倍や半分にする計算によく使われます。


// 左シフト(2倍)
console.log(5 << 1); // 10
// 右シフト(半分)
console.log(5 >> 1); // 2

10
2

左に1ビットずらすと2倍、右に1ビットずらすと半分になるイメージです。

5. ビット演算の活用例

5. ビット演算の活用例
5. ビット演算の活用例

ビット演算は条件チェックやフラグ管理、パフォーマンスが重要な計算で活用されます。


// フラグ管理の例
let FLAG_A = 1; // 0001
let FLAG_B = 2; // 0010
let FLAG_C = 4; // 0100

let status = FLAG_A | FLAG_C; // FLAG_AとFLAG_CをONにする
console.log((status & FLAG_A) !== 0); // true
console.log((status & FLAG_B) !== 0); // false

true
false

このように、ビット演算を使うと複数のフラグを1つの数値で効率的に管理できます。

6. ビット演算を使う際の注意点

6. ビット演算を使う際の注意点
6. ビット演算を使う際の注意点
  • ビット演算は整数にしか正確に動作しません。小数に対しては整数に変換されます。
  • 符号付き整数の扱いに注意が必要です。特にNOT演算や右シフトではマイナス値になることがあります。
  • 可読性を重視する場合、フラグ管理以外の計算では通常の算術演算を使う方がわかりやすいです。
カテゴリの一覧へ
新着記事
New1
TypeScript
TypeScriptでパスエイリアスを設定する方法!baseUrlとpathsでコードをスッキリ整理
New2
JavaScript
JavaScriptのfor文の書き方を初心者向けにやさしく解説
New3
JavaScript
JavaScriptの関数でよくあるエラーとその解決法まとめ
New4
JavaScript
JavaScriptのイベント処理でよくあるエラーとその対処法
人気記事
No.1
Java&Spring記事人気No1
JavaScript
JavaScriptのインストール方法まとめ!Windows・Mac・Linux別にステップ解説
No.2
Java&Spring記事人気No2
JavaScript
JavaScriptのマウスイベントの使い方(click, mouseoverなど)
No.3
Java&Spring記事人気No3
JavaScript
JavaScriptのtoStringとString関数の違いを初心者向けに解説
No.4
Java&Spring記事人気No4
JavaScript
JavaScriptの純粋関数(pure function)と副作用の違いを理解しよう
No.5
Java&Spring記事人気No5
JavaScript
JavaScriptプログラムの実行方法まとめ!ブラウザ・Node.js・コンソールの使い方
No.6
Java&Spring記事人気No6
JavaScript
JavaScriptで文字列をforループで1文字ずつ処理する方法!初心者向け解説
No.7
Java&Spring記事人気No7
TypeScript
TypeScriptの始め方:開発環境の構築手順【初心者向け】
No.8
Java&Spring記事人気No8
TypeScript
TypeScript学習におすすめの無料教材・リファレンスサイト【初心者向け】