ビット演算計算機(オンライン)

2 つの整数に AND, OR, XOR, NOT とビットシフトを適用し、結果を 2 進・16 進・10 進・8 進で確認。BigInt を使ってブラウザ内で計算します。

ビット演算計算機は完全にブラウザ内で動作します。入力した整数と、すべての AND, OR, XOR, シフト, NOT の結果はデバイス上で計算され、ArrayKit やいかなるサーバーにも送信されることはありません。

基数変換ツールを開く

ビット演算計算機 について

ビット演算計算機は、2 つの整数に AND, OR, XOR, NOT と 3 種類のシフト演算子を適用し、すべての結果を 2 進・16 進・10 進・8 進で一度に表示します。各オペランドを、自分が考えやすい基数 — 10 進、16 進(0xff)、2 進(0b1010)、8 進(0o17)— で入力すると、オペランドを列ごとに揃えたビット単位のグループ表示が返り、どのビットが反転したかを正確に確認できます。BigInt で計算するため、1 << 40 のような左シフトも、JavaScript の演算子のように 32 ビットでオーバーフローせず、正確な 1099511627776 を返します。組み込み開発者、ドライバやプロトコルの作者、レジスタフラグや権限マスクをデコードするすべての人のために作られています。すべてのオペランドと結果はブラウザ内に留まります。

機能

ビット演算計算機 の使い方

  1. 演算を選びます — AND, OR, XOR, NOT、またはシフト(<<, >>, >>>)
  2. 値 A、続いて値 B またはシフト量を入力します(NOT は A のみ使用)
  3. 入力の基数を選ぶか、Auto のままにして 0x, 0b, 0o の接頭辞を読み取らせます
  4. 結果を 2 進・16 進・10 進・8 進で確認し、必要な基数をコピーします

入力

A = 12
B = 10
op = AND

出力

BIN  1000
HEX  0x8
DEC  8
OCT  0o10

12 (1100) AND 10 (1010) は共有ビットのみを残し、8 (1000) になります。

よくあるエラーとトラブルシューティング

よくある質問

このビット演算計算機が 32 ビット整数ではなく BigInt を使うのはなぜですか?
JavaScript のビット演算子はオペランドを 32 ビット符号付き整数に変換するため、1 << 40 は 256 にオーバーフローし、大きな値は上位ビットを失います。BigInt で計算すると、数やシフトがどれだけ大きくてもすべての結果が正確に保たれます。
この計算機での >> と >>> の違いは何ですか?
>> は符号ビットを保つ算術右シフトで、-8 >> 1 は -4 です。>>> は論理(符号なし)右シフトで、選んだ 32 ビットまたは 64 ビット幅の上位をゼロで埋めるので、-1 >>> 28 は 15 です。
NOT 5 が -6 と表示されるのはなぜですか?
ビット NOT はすべてのビットを反転し、2 の補数では -(n+1) と同じです。だから NOT 5 は 10 進で -6 です。HEX と BIN 行を見ると、選んだ幅にパディングされた反転ビットパターンがわかります。
16 進・2 進・10 進のオペランドを混在させられますか?
はい。入力の基数を明示的に設定するか、Auto のままにして各値に 0x, 0b, 0o を付けてください。ツールは両オペランドを解析し、演算子を適用して、4 つの基数すべてで結果を報告します。
負の結果の 16 進や 2 進はどう読みますか?
負の結果は選んだ幅の 2 の補数で表示されるので、-6 は 32 ビット 16 進で 0xfffffffa になります。10 進行は常に符号付きで正確です。より広いビットパターンが必要なら 64 ビットに切り替えてください。
32 ビットと 64 ビットの幅設定は何を変えますか?
幅は、論理右シフトがどこでゼロ埋めするか、そして負の値や NOT の結果の 2 の補数 16 進・8 進・2 進が何ビットを使うかを制御します。10 進値と、正の数の論理 AND/OR/XOR は影響を受けません。

関連ツール

すべての ArrayKit ツール