XOR計算器:異或邏輯與位元運算

計算布林值、二進位序列與十進位整數的異或,並提供逐步說明與真值表。

選擇運算類型,輸入兩個值,然後點擊計算即可查看 XOR 結果,還可選擇顯示真值表與步驟拆解。

XOR計算器:異或邏輯與位元運算
計算布林值、二進位序列與十進位整數的異或,並提供逐步說明與真值表。

對兩個布林值(0/1 或 true/false)執行 XOR。只有當兩個輸入中恰有一個為 true 時才回傳 true。

關於 XOR 計算器

XOR 是 Exclusive OR(異或)的縮寫,是布林代數與數位電子學中的基本邏輯運算之一。它不同於一般 OR:OR 在至少一個輸入為 true 時回傳 true,而 XOR 只有在兩個輸入中恰有一個為 true 時才回傳 true——當兩者都為 true 或都為 false 時都回傳 false。這種「排他」特性讓 XOR 在各種運算與數學情境中都非常有價值。 在最基本的層次上,布林 XOR 就是一種二元邏輯閘。當你輸入兩個值——每個值都是 0(false)或 1(true)——只有在兩個輸入不同時輸出才會是 1。完整真值表為:0 XOR 0 = 0,0 XOR 1 = 1,1 XOR 0 = 1,1 XOR 1 = 0。這與「二選一,但不能兩者兼得」完全一致。日常語言裡,「我想要蛋糕或派(但不能兩個都要)」就是一個 XOR 命題。 二進位 XOR 會把布林情況延伸到整段位元字串。兩個輸入序列中對應位置的每一對位元都會獨立進行 XOR,以產生輸出位元。例如,1010 XOR 1100 = 0110,因為第一位(1 和 1)得到 0,第二位(0 和 1)得到 1,第三位(1 和 0)得到 1,第四位(0 和 0)得到 0。這個運算在數位通訊的錯誤偵測、RAID 儲存系統的同位元計算,以及密碼學中的串流密碼都非常重要。 位元 XOR 會同時作用於十進位整數的完整二進位表示。現代處理器會把位元 XOR 實作成單時脈指令,因此速度極快。程式設計師會把位元 XOR 用在許多巧妙技巧上:不用暫存變數交換兩個整數(a ^= b; b ^= a; a ^= b;)、切換位元遮罩中的特定位元、找出陣列中唯一不重複的數字,以及計算檢查碼。a XOR a = 0(任何值與自己 XOR 都等於 0)與 a XOR 0 = a(任何值與 0 XOR 仍是自己)這兩個性質支撐了許多應用。 在密碼學中,XOR 是一次一密的核心——當金鑰真正隨機且只使用一次時,它是唯一可證明無法破解的加密方案。訊息的每一位都會與金鑰中對應的一位進行 XOR。解密過程完全相同:把密文再與同一把金鑰 XOR 一次,就能還原原文。這之所以成立,是因為 XOR 是它自己的反運算:(a XOR k) XOR k = a。串流密碼以及 CTR、OFB 等區塊密碼模式都利用了這個特性,把區塊密碼轉成以金鑰流為基礎的系統。 這個 XOR 計算器把布林、二進位與位元運算三種變體整合在一起。輸入數值,選擇適合的運算模式,還可以按需啟用真值表或逐步說明,清楚了解結果是如何得出的。

XOR 計算器範例

展示布林、二進位與位元模式下常見的 XOR 運算及實際結果。

輸入結果說明
布林:true XOR falsetrue輸入不同,所以 XOR 回傳 true。1 XOR 0 = 1。
布林:true XOR truefalse兩個輸入相同,所以 XOR 回傳 false。1 XOR 1 = 0。
二進位:1010 XOR 11000110逐位 XOR:1^1=0,0^1=1,1^0=1,0^0=0。結果是 0110(十進位 6)。
位元:12 XOR 10612 的二進位是 1100,10 的二進位是 1010。XOR 得到 0110 = 十進位 6。

如何使用 XOR 計算器

  1. 選擇運算類型:布林用於 true/false,二進位用於位元序列,位元用於十進位整數。
  2. 輸入第一個值(A),格式要對應所選類型——布林使用 0/1/true/false,二進位使用像 1010 這樣的位元字串,位元使用十進位整數。
  3. 以與第一個值相同的格式輸入第二個值(B)。
  4. 可選開啟「顯示真值表」查看四種輸入組合,或開啟「顯示步驟」查看逐位 XOR 推導。
  5. 點擊「計算 XOR」即可得到結果。點擊「重設」可清空所有欄位並重新開始。

XOR 計算器常見問題

XOR 是什麼意思?
XOR 是 Exclusive OR(排他或、異或)的縮寫。它是一種邏輯運算:當兩個輸入中恰有一個為 true 時回傳 true(1),當兩個輸入相同時回傳 false(0)。「排他」一詞區別於一般 OR,因為一般 OR 在兩個輸入都為 true 時也會回傳 true。
XOR 和 OR 有什麼不同?
一般 OR 只要有一個輸入為 true,或兩個都為 true,就會回傳 true。XOR 只有在一個輸入為 true、另一個為 false 時才回傳 true——它排除了兩個都為 true 的情況。0 OR 0 = 0 和 1 OR 1 = 1 這兩列真值表是相同的;差異出現在 1 XOR 1 = 0,而 1 OR 1 = 1。
為什麼 XOR 在密碼學中很重要?
XOR 是它自己的反運算:(a XOR k) XOR k = a,對任意 a 和 k 都成立。這表示你可以用金鑰進行 XOR 來加密,再用同一把金鑰 XOR 一次來解密。一次一密是唯一可證明無法破解的密碼體制,而它完全建立在 XOR 之上。串流密碼和許多區塊密碼模式也依賴 XOR 來將金鑰材料與明文混合。
如何對不同長度的二進位數執行 XOR?
先在較短的序列左側補零,直到兩邊長度相同,再逐位 XOR 每一對位元。例如,110 XOR 1010 會變成 0110 XOR 1010 = 1100。這個計算器會自動完成補零。
位元 XOR 在程式設計中的實際用途是什麼?
位元 XOR 常用來不用暫存變數交換兩個變數:a ^= b; b ^= a; a ^= b;。它也可用來切換旗標位元、找出陣列中唯一不重複的元素(把所有元素 XOR 在一起;成對的值會抵消為 0),以及快速計算檢查碼和雜湊混合。
XOR 可以作用於兩個以上的輸入嗎?
可以。多輸入 XOR 其實就是依序進行兩兩 XOR。只要 1 的個數是奇數,結果就為 1(true);如果 1 的個數是偶數,結果就為 0(false)。RAID-5 的同位元計算就使用了這個性質,多塊資料碟的同位元就是它們全部內容的 XOR。