ビット演算ツール

AND・OR・XOR・NOT・シフト・ローテートを2進数、10進数、16進数で計算し、ビット単位の過程を確認できます。

入力

0x0b接頭辞、空白、負の10進数にも対応。移動ビット数は常に10進数です。

演算結果

Unsigned結果
Unsigned
Signed
16進数
2進数
ビット単位の計算過程

値を入力すると、ビット単位の計算過程を表示します。

使い方

  1. AND、OR、XOR、NOT、シフトなどの演算を選びます。
  2. 入力形式とビット幅を選び、値Aと値Bを入力します。
  3. シフト・ローテートでは値Bを移動ビット数として使用します。
  4. 演算結果と逐位の計算過程を確認し、必要な形式をコピーします。

ビット演算早見表

ABANDORXOR
00000
01011
10011
11110

対応している演算

演算用途
ANDマスクしたビットだけを取り出すF0 AND 0F = 00
OR指定ビットを1にするF0 OR 0F = FF
XOR異なるビットを検出・反転するAA XOR FF = 55
NOTすべてのビットを反転するNOT F0 = 0F
シフトビットを左右へ移動する01 << 4 = 10
ローテート端から出たビットを反対側へ戻す81 ROL 1 = 03
ポイント: NOT、左シフト、ローテートはビット幅によって結果が変わります。レジスタや整数型を確認するときは、実際の8・16・32・64ビット幅に合わせてください。

ビット演算のFAQ

ビット演算とは何ですか?
整数を2進数のビット列として扱い、各ビットにAND、OR、XOR、NOTやシフトを適用する計算です。フラグ、権限、レジスタ、マスク処理などで使われます。
AND・OR・XORの違いは?
ANDは両方が1のときだけ1、ORはいずれかが1なら1、XORは異なるときだけ1になります。
NOTの結果がビット幅で変わるのはなぜですか?
NOTは指定範囲内のすべてのビットを反転するためです。8ビットのNOT 0は255ですが、16ビットでは65535になります。
算術右シフトと論理右シフトの違いは?
算術右シフトは符号を維持するため左側を符号ビットで埋め、論理右シフトは左側を0で埋めます。負数を扱うと結果が異なります。
SignedとUnsignedは何が違いますか?
同じビット列を符号付き整数として読むか、0以上の符号なし整数として読むかの違いです。たとえば8ビットの11111111はSignedで-1、Unsignedで255です。
左シフトであふれたビットはどうなりますか?
選択したビット幅の外へ出た上位ビットは切り捨てます。結果は常に指定したビット幅の範囲内に収まります。
64ビットを超える演算に対応していますか?
はい。128ビットのプリセットと、2〜256ビットの任意幅に対応しています。JavaScriptのBigIntを使用して整数精度を保ちます。
入力した値は外部へ送信されますか?
計算はブラウザ内のJavaScriptで行われ、演算のために入力値を外部サーバーへ送信しません。

このツールを共有