AZ Tools

ビット演算 計算機

開発

2つの整数を入力すると、よく使うビット演算を一度に表示します:AND、OR、XOR、NOT(~A・~B)、および任意量の左右シフトです。各結果は2進数(ニブル単位で区切り)、16進数、符号なし10進数、2の補数の符号付き10進数で表示されます。8・16・32・64ビット幅を選ぶと結果がそのサイズに収まり、NOT とシフトが C・Rust やレジスタと同じように動作します。入力は10進数・0x 16進数・0b 2進数・0o 8進数に対応し、負数は2の補数として解釈されます。任意精度整数で計算するため、64ビット値も正確です。組み込み開発、ビットフラグやマスク、プロトコル解析、ビット演算の学習に最適です。

10進数・0x 16進数・0b 2進数・0o 8進数を入力可(負数可)。

2進数16進数10進数符号付き
A0000 11000x0C1212
B0000 10100x0A1010
A & B0000 10000x0888
A | B0000 11100x0E1414
A ^ B0000 01100x0666
~A1111 00110xF3243-13
~B1111 01010xF5245-11
A << 10001 10000x182424
A >> 10000 01100x0666

使い方

  1. A と B に2つの整数を入力します(10進数、または 0x / 0b / 0o 接頭辞)。
  2. ビット幅とシフト量を選びます。
  3. 各演算を2進数・16進数・符号なし/符号付きの列で確認します。

よくある質問

負数はどう扱われますか?
選んだ幅の2の補数として解釈されます。例えば −1 はすべて1(8ビットで 0xFF)になります。符号付きの列はすべての結果の2の補数値を表示します。
ビット幅は何を変えますか?
結果をそのビット数にマスクします。これは NOT とシフトで重要です。~12 は8ビットで 0xF3、32ビットで 0xFFFFFFF3 となり、C の固定サイズ整数や CPU レジスタと同じです。
16進数や2進数も入力できますか?
はい — 16進数は 0x(0xFF)、2進数は 0b(0b1010)、8進数は 0o 接頭辞を使います。通常の10進数も使えます。
64ビットの結果も正確ですか?
はい。内部で任意精度整数を使うため、32ビットの JavaScript ビット演算子と違い、64ビット演算で精度を失いません。

関連ツール