ビット演算計算機
2つの整数に対してAND、OR、XOR、NOT、左シフト、または右シフトを実行し、正確な10進数、16進数、バイナリの結果を表示します。任意精度のBigInt演算を使用し、32ビット切り詰めなし。
入力
左シフト/右シフトの場合、これはシフト量です (0–1024)。NOTでは使用されません。
出力
| プロパティ | 値 |
|---|---|
| No data yet | |
ガイド
ビット演算計算機は、数値を通常の10進値として扱うのではなく、その2進表現に直接論理演算を適用し、ビットごとに処理します。このツールは2つの整数に対してAND、OR、XOR、NOT、左シフト、右シフトを実行し、結果を10進数、16進数、バイナリとして表示します。これはビットフラグのデバッグ、権限マスク、ネットワークサブネット、低レベルプロトコルフィールド、または2進ロジックの動作を学ぶのに役立ちます。
使い方
数値 Aを入力します (10進数、例えば42、または16進数、例えば0x2A — 先頭の-は許可されます)、操作を選択し、数値 Bを入力します。これはAND/OR/XORの2番目のオペランド、またはLeft/Right Shiftのシフト量です (NOTでは使用されません。NOTは数値 Aのみで動作します)。結果は自動的に10進数、16進数、バイナリとして更新されます。
操作
| A | B | AND | OR | XOR |
|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 |
| 0 | 1 | 0 | 1 | 1 |
| 1 | 0 | 0 | 1 | 1 |
| 1 | 1 | 1 | 1 | 0 |
- AND (
&) — ビットが1になるのは、両方の入力ビットが1の場合のみです。 - OR (
\|) — ビットが1になるのは、少なくとも1つの入力ビットが1の場合です。 - XOR (
^) — ビットが1になるのは、入力ビットが異なる場合です。 - NOT (
~) — 単一の数値のすべてのビットを反転します (単項 — 数値 Bは無視されます)。整数nの場合、~nは-(n + 1)に等しいです。例えば~5は-6です。 - Left Shift (
<<) — Aのビットを左にB位置シフトし、右にゼロを埋めます。A × 2^Bと同等です。 - Right Shift (
>>) — Aのビットを右にB位置シフトし、下位ビットを破棄します。2^Bによる整数除算と同等で、負の無限大に向かって丸めます (負の数にも正しく機能します)。
例
12 AND 10: 12は2進数で1100、10は1010です。ビットごとに比較すると: 1100 & 1010 = 1000で、これは10進数の8です。同じ2つの数値をORで操作すると1110 (14)になり、XORで操作すると0110 (6)になります。
BigIntを使う理由
多くのビット演算計算機は操作を実行する前に数値を32ビット符号付き整数に強制変換します。これはJavaScriptの組み込みビット演算子 (&、|、^、~、<<、>>) が通常のNumber値で行うことだからです。約21億 (2^31) より大きい値はすべて、操作が実行される前に間違った値に無言のうちに切り詰められます。このツールは代わりにJavaScriptのBigInt型を使用します。その場合のビット演算子には固定幅がないため、オペランドがどんなに大きくても結果は正確なままです。
FAQ
NOTが負の数を生成するのはなぜですか? 整数は概念的には、2の補数形式での先頭の1 (負) または0 (正) の無限ストリームです。そのため、非負の数のすべてのビットを反転すると、常に負の数が生成されます。これは標準的な2の補数の動作であり、バグではありません。
符号なし右シフト (>>>) はありますか? いいえ。符号なしシフトは固定ビット幅の場合のみ意味があります (符号拡張ではなくゼロ埋め)。このツールの数値には固定幅がありません。これが任意に大きい値を正しく処理できる理由です。
許可される最大のシフト量は何ですか? シフト量は1024に制限されており、すべての結果が瞬時に計算可能となります。そのような大きなシフトでさえ、既に1000ビット以上の長さの結果を生成します。
16進数の入力を使用できますか? はい。任意の数値の前に0xを付けます (例えば0xFF)。出力は、入力した形式に関わらず、常に10進数、16進数、バイナリで表示されます。
プライバシー
すべての計算はあなたのブラウザで標準JavaScriptを使用してローカルで実行されます。入力した内容がアップロードまたは保存されることはありません。
Use it from code
From 3 credits per callREST API
curl -X POST https://api.iotools.cloud/v1/tool/bitwise-calculator \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"numberA": "12",
"operation": "and",
"numberB": "10"
}'Swap in your own key from your account. The tool's fields are the body — no wrapper.
Ask an AI agent
Use the IOTools `bitwise-calculator` tool (Bitwise Calculator) on this input:
YOUR_INPUT_HEREPaste this at any agent connected to the IOTools MCP server, then add your input.