JA
マイツール

ビット演算電卓(プログラマー電卓)

8〜64ビット整数にAND、OR、XOR、NOT、シフト、ローテート、ビット操作を行います。16進数、2進数、8進数、符号付きの結果も表示。

10進数(負数は2の補数)、0xの16進数、0bの2進数、0oの8進数。空白と_は無視されます。
結果
0x0A
8ビット
2進数
0000 1010
符号なし
10
符号付き(2の補数)
10
8進数
0o12
立っているビット数(popcount)
2
偶数パリティ
先頭のゼロの数
4
末尾のゼロの数
1
オペランドと結果
16進数2進数符号なし符号付き
A0xCA1100 1010202-54
B0x0F0000 11111515
結果0x0A0000 10101010
マイツール →
広告

ビットマスク、フラグ、レジスタの値、ハッシュ関数は、ビットを目で見られると理解しやすくなります。このプログラマー電卓は、8、16、32、64ビットの整数に対して、AND、OR、XOR、NOT、NAND、NOR、XNOR、シフト、ローテート、1ビットのセット・クリア・反転・テストを行い、固定幅のハードウェアと同じように加算、減算、乗算をラップアラウンドさせます。数値は10進数、16進数、2進数、8進数で入力でき、すべての結果を4つの表記で、符号付き・符号なしの値、立っているビット数、先頭と末尾のゼロの数とともに表示します。

使い方

  1. Aを入力します。10進数(負数は2の補数)、0xの16進数、0bの2進数、0oの8進数です。
  2. 演算を選びます。
  3. Bを入力します。2つ目のオペランド、シフトやローテートの量、または右端を0として数えたビット番号です。
  4. 幅を選びます。値はその幅に収まる必要があります。
  5. 結果を16進数、2進数、10進数(符号なしと符号付き)、8進数で確認します。

計算式

AND 1∧1 = 1 · OR 0∨0 = 0 · XOR 1⊕1 = 0 · NOTはすべてのビットを反転 · A << n = A × 2ⁿ mod 2ʷ · A >>> n = ⌊A ÷ 2ⁿ⌋

すべての計算は正確に(BigInt)行われ、選んだ幅wでマスクされます。算術シフト>>は空いた位置に符号ビットをコピーし(符号付きの値を2ⁿで割り、切り捨て)、論理シフト>>>はゼロで埋めます。ローテートは、一方の端からあふれたビットを反対側の端に戻します。符号付きの値は2の補数を使い、最上位ビットが立っているパターンは値 − 2ʷを意味します。

計算例

A = 0b1100_1010(0xCA、202)AND B = 0x0Fは、下位4ビットだけを残して0x0A = 0000 1010 = 10になります。8ビットでA = −16(0xF0)を算術右シフト2回すると0xFC = −4、論理シフトなら0x3C = 60になります。

よくある質問

>>と>>>の違いは何ですか?

負の数では、>>は1のビットで埋めて負のまま保ち(算術シフト)、>>>は0のビットで埋めてパターンを符号なしとして扱います。JavaとJavaScriptには両方の演算子があり、CとC++では型が符号付きかどうかに応じて>>が使われます。

フラグが立っているかどうかはどう確認しますか?

「AのビットBをテスト」を使うか、そのビットだけが立ったマスクとANDを取ります: (A & (1 << n)) != 0。

8ビットで200 + 100が44になるのはなぜですか?

300はバイト(最大255)に収まらないため、結果がラップアラウンドします。300 − 256 = 44で、符号なし8ビットのレジスタと同じです。

popcountとは何ですか?

1のビットの個数です。個数が奇数なら奇数パリティで、簡易的な誤り検出に使われます。

最終更新:

このツールを引用する
APA

kakaoCalc. (2026, November 8). ビット演算電卓(プログラマー電卓). https://kakao.mobile/ja/tools/bitwise-calculator/

MLA

“ビット演算電卓(プログラマー電卓).” kakaoCalc, 8 Nov. 2026, kakao.mobile/ja/tools/bitwise-calculator/.

広告