ビット単位XOR計算器
2つの整数をビットごとに排他的論理和で組み合わせます。12 XOR 10は6で、1100と1010はちょうど2か所が異なります。結果は10進・2進・16進で表示され、異なるビットの数も分かります。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- A
- 12
- B
- 10
- 結果
- 6
- Aの2進数
- 0b1100
- Bの2進数
- 0b1010
- 2進数の結果
- 0b110
ビット単位の排他的論理和(XOR または ⊕)は、2つの入力ビットが異なるときだけ結果の各ビットを1にするデジタル論理演算です。計算機アーキテクチャを学ぶ学生、フラグビットを切り替える組み込み技術者、リバースエンジニアリングの実務者は、REPLを開かずに 12 XOR 10 が10進・2進・16進でいくらになるかを、高速かつ決定的に確認する手段を必要とします。本ビット単位XOR計算器は2つの安全な整数を受け取り、任意精度の2の補数算術による数学的な排他的論理和を適用し、結果とともに2進・16進の表現と相違ビット数(大きさのハミング距離)を返します。
ビット単位XORの意味と各ビットが独立して反転する理由
2ビットの排他的論理和は、ちょうど一方だけが真のときに真になります。0 XOR 0 は 0、0 XOR 1 は 1、1 XOR 0 は 1、1 XOR 1 は 0 です。この規則を整数全体にビットごとに拡張すると、a XOR b は a と b が食い違う位置に1、一致する位置に0を持つという古典的性質が得られます。
デジタル論理では2入力1出力のゲートに対応し、プログラミング言語ではキャレット演算子やCPU上の名前付きXOR命令として現れます。XORは結合則と交換則を満たし、各値は自身の逆元です。a XOR a は 0、a XOR 0 は a です。
加算と異なりXORは桁上がりを生じないため、各ビットレーンは独立し、現代のどのALUでも安価に実行できます。本計算器は a ⊕ b の10進結果を報告し、両オペランドと結果の2進・16進文字列を示してビット列を目視で監査できるようにし、相違ビット数を数えて第2のツールなしでハミング距離を測れるようにします。
負数は2の補数整数XORで扱い、固定32ビット機械語への切り詰めではなく BigInt の数学的排他的論理和に整合させます。値が言語の32ビットビット演算子の範囲を超える場合に重要です。
ビット単位XOR計算器が実務で役立つ場面
組み込みファームウェアとデバイスドライバは制御ビットをXORマスクで絶えず切り替えます。同じマスクを2回かけてフラグを消し、近傍ビットを乱さずGPIOシャドウレジスタを反転します。ネットワークとストレージのコードは、単純パリティ、RAID風の再構成スケッチ、暗号ハッシュが過剰なときの軽量整合性検査に、いまも累積XORを使います。
情報科学の授業は真理値表・ハミング距離・CRCの前段階として排他的論理和を導入します。ライブのビット単位XOR計算器があれば、学生は0と1の8列を手描きせずに任意の組で宿題を照合できます。
セキュリティとリバースエンジニアリングのノートは、既知平文と暗号文をXORして1バイトのXORキーストリームを復元することが多く、BigInt意味論に整合した決定的オラクルがあれば、言語ごとに異なる32ビット符号拡張の罠を避けられます。
ビット単位XOR計算器で検索上位を狙うコンテンツサイトは、同じ純モジュール上で有料自動化経路とバイト単位で一致する無料ブラウザ経路の恩恵を受けます。オペランドを安全整数範囲に保ち、期待結果をテストに固定すれば、独自の記号計算や多倍長ライブラリを立てずに、実験・CIフィクスチャ・エッジワーカー向けの再現可能な排他的論理和が得られます。
活用例
ファームウェアでのフラグとマスクの切り替え
レジスタ更新のために status XOR mask を計算し、同じマスクを2回適用すると元の値に戻ることを確認し、ドライバ注記にビット配置を記録します。
パリティ、チェックサム、簡易暗号演習
バッファ上の累積XORパリティを組み、CTF解説で1バイトXOR鍵を復元し、言語非依存の整数XORフィクスチャを単体テストします。
よくある質問
XORの真理値表は何ですか?
0⊕0=0、0⊕1=1、1⊕0=1、1⊕1=0です。結果の各ビットは2オペランドが異なる位置だけ1になり、これがデジタル論理の排他的論理和です。
XORは負の数でも使えますか?
はい。 計算器は BigInt 意味論による2の補数整数XORを用いるため、負数も有効な安全整数であり、結果は数学的な排他的論理和と一致します。
XORで1つのフラグビットだけを反転するには?
その位置だけが1のマスクと組み合わせます。フラグは反転し、隣のビットはそのままです。同じマスクをもう一度使えば、元の値に戻ります。
異なるビットの数から何が分かりますか?
ハミング距離、つまり2つの値でビットが食い違う位置の数です。12と10では2で、これは結果に含まれる1の個数とも一致します。
XORは普通の足し算とどう違いますか?
XORは次のビットへの繰り上がりが起こらないので、各ビットの列を個別に処理できます。この独立性のおかげでハードウェアでは安く実現でき、パリティや簡単な検査に向いています。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/elec/bitwise-xor \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"a":12,"b":10}'const res = await fetch("https://api.kit.forhosting.com/elec/bitwise-xor", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"a": 12,
"b": 10
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/elec/bitwise-xor",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"a": 12,
"b": 10
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/elec/bitwise-xor", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"a":12,"b":10}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"a":12,"b":10}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/elec/bitwise-xor", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"a": 12,
"b": 10
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "elec.bitwise_xor",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
検証失敗は課金されず、成功した呼び出しごとに公開の基本料金 $0.002 が適用されます。
ビット単位XORの意味と各ビットが独立して反転する理由
これらの恒等式により、XORはビットマスクの切り替え(status を status XOR flag にする)、単純なパリティやチェックサム(ペイロードバイトの累積XOR)、面接や低レベルドライバに今も登場するインプレース交換の自然な道具になります。
入力契約、応答の形、エラー時の振る舞い
値はプラスマイナス Number.MAX_SAFE_INTEGER 以内の有限な安全整数でなければなりません。例:a が12、b が10なら result は6で、2進では 1100 XOR 1010 が 0110 です。ビットレーンのアニメーションが必要なら独自のビットボードやレジスタ可視化と組み合わせてください。必須の整数フィールド a(第1オペランド)と b(第2オペランド)を含む JSON 本体を POST してください。各フィールドは JSON 数、10進の数値文字列、または 0x・0b・0o 接頭辞付きの16進・2進・8進で送れます。小数、Infinity、NaN、空文字列、欠落フィールドはフィールド名付きの invalid_input で失敗し、課金されません。任意エイリアス x・left・first は a に、y・right・second は b に対応し、呼び出し側の命名に合わせられます。成功時、本体は a と b を数値でエコーし、result を排他的論理和として返し、接頭辞 0b 付きの a_binary・b_binary・result_binary(負の大きさには先頭マイナス)、接頭辞 0x 付きの a_hex・b_hex・result_hex を提供し、bits_differ を結果の大きさのポピュレーションカウントとして報告し、「12 XOR 10 = 6」のような短い operation 文字列と、オペランドが異なる位置で各ビットが1になることを再掲する formula を含めます。本エンドポイントは整数XORのみを計算し、formula 以外の図や多段の教室向け文章は出しません。
ビット単位XOR計算器が実務で役立つ場面
実装は純 parse の tier A のため、成功呼び出しはモデルトークンも外向き通信もなく公開の基本料金 $0.002 です。
連携の活用例
教室での真理値表とハミング距離
学生に2整数を提出させ、排他的論理和の結果・2進列・bits_differ の個数を手計算の解答と照合させます。
技術的な質問
2整数のビット単位XORはどのように計算しますか?
安全整数 a と b を送ってください(JSON数または 0x/0b/0o を含む数値文字列)。APIは result = a ⊕ b と2進・16進表示および bits_differ を返します。
bits_differ とは何ですか?
a XOR b の大きさのポピュレーションカウント、すなわち相違するビット位置の個数です。非負値ではハミング距離とも呼ばれます。
ビット単位XOR計算器の料金はいくらですか?
ブラウザツールは無料です。APIリクエストは前払いKIT残高で、成功呼び出しごとに $0.002 です。無効な入力は課金されません。