透過 MCP 連接 →

輸入計算

數學公式

廣告

結果

x AND y(十進位)
98
x = 115   y = 234 (decimal)
進位制 AND OR XOR
十進位(10) 98 251 153
十六進位(16) 62 fb 99
八進位(8) 142 373 231
六進位(6) 242 1055 413
二進位(2) 1100010 11111011 10011001

這個計算機的功能

本工具可在兩個非負整數之間執行三種最基本的位元邏輯運算——AND、OR 與 XOR。每個運算元都可以用十進位(base 10)、十六進位(base 16)、八進位(base 8)、六進位(base 6)或二進位(base 2)輸入。每項運算的結果都會同時以這五種進位制呈現,方便你依需求選用任一種格式閱讀。所有數值皆以無號(unsigned)方式處理,支援完整的 0 到 \(2^{64} - 1\) 範圍。

使用方式

x 欄位輸入第一個數字,並選擇它所使用的進位制;接著以相同方式輸入第二個數字 y。進位制選項只會影響文字的解析方式——實際運算永遠是針對底層的整數值進行。輸出表格會以十進位、十六進位、八進位、六進位與二進位各列出 AND、OR 與 XOR 的結果。

公式說明

位元運算是針對每個整數的二進位表示法,逐一比對每個位元位置進行的。AND 只在兩個輸入位元都是 1 時,結果位元才設為 1;OR 只要任一輸入位元為 1,結果位元就設為 1;XOR(互斥或)則在兩個輸入位元剛好只有一個為 1 時,結果位元才設為 1——由於一個值與自身做 XOR 結果為 0,因此 XOR 特別適合用於奇偶校驗(parity)與檢查碼(checksum)的計算。

$$\begin{gathered} X = \text{parse}\!\left(\text{x},\ \text{base}_x\right), \quad Y = \text{parse}\!\left(\text{y},\ \text{base}_y\right) \\[1.2em] \text{AND} = X \mathbin{\&} Y, \quad \text{OR} = X \mid Y, \quad \text{XOR} = X \oplus Y \end{gathered}$$
按位 AND、OR 和 XOR 真值表以 2x2 位元網格顯示
AND、OR 和 XOR 運算逐位執行。

實際範例

以 \(x = 115\)、\(y = 234\)(皆為十進位)為例。換成二進位,\(115 = 0111\,0011\),\(234 = 1110\,1010\)。AND 得到 $$0110\,0010 = 98 = \text{十六進位 } 62 = \text{八進位 } 142 = \text{六進位 } 242 = \text{二進位 } 1100010$$ OR 得到 $$1111\,1011 = 251 = \text{十六進位 } \text{fb} = \text{八進位 } 373 = \text{六進位 } 1055$$ XOR 得到 $$1001\,1001 = 153 = \text{十六進位 } 99 = \text{八進位 } 231 = \text{六進位 } 413 = \text{二進位 } 10011001$$

兩個二進位數按欄對齊,下方為它們的按位 XOR 結果
按位運算每次按一欄位元比較兩個輸入。

位元真值表

位元運算對每一對位元獨立進行操作。下表顯示兩個輸入位元 \(A\) 和 \(B\) 的每一種可能組合,以及 AND (\(\&\))、OR (\(\mid\)) 和 XOR (\(\oplus\)) 的結果位元。

A B A AND B (\(A \mathbin{\&} B\)) A OR B (\(A \mid B\)) A XOR B (\(A \oplus B\))
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;XOR 在位元不同時返回 1。當兩個多位元的整數結合時,該運算應用於每個對齐的位元位置。例如,將 \(12 = 1100_2\) 和 \(10 = 1010_2\) 進行位元組合,得到 AND \(=1000_2 = 8\)、OR \(=1110_2 = 14\) 和 XOR \(=0110_2 = 6\)。

基數數字轉換表

在計算 AND、OR 或 XOR 之前,請確認您的運算元輸入的進位制正確。六進位是基數 6(數字 0–5);八進位是基數 8(數字 0–7);十六進位是基數 16(數字 0–9,然後是 A–F)。下表列出了十進位 0–16 在所有五個支援的進位制中的對應值。

十進位 (10) 十六進位 (16) 八進位 (8) 六進位 (6) 二進位 (2)
0 0 0 0 0
1 1 1 1 1
2 2 2 2 10
3 3 3 3 11
4 4 4 4 100
5 5 5 5 101
6 6 6 10 110
7 7 7 11 111
8 8 10 12 1000
9 9 11 13 1001
10 A 12 14 1010
11 B 13 15 1011
12 C 14 20 1100
13 D 15 21 1101
14 E 16 22 1110
15 F 17 23 1111
16 10 20 24 10000

您可以使用二進位 1100 轉換器驗證任何單一值在其他進位制中的對應值,該轉換器返回十進位 12。

定義與術語表

位元
數位資訊的最小單位,取值為 0 或 1。此計算機中的每個整數都被處理為位元序列。
位元運算
獨立應用於兩個運算元的每個對應位元的運算。AND、OR 和 XOR 是此處計算的三種組合運算。
基數(進位)
位置記數系統使用的相異數字個數。十進位的基數為 10,二進位基數為 2,八進位基數為 8,六進位基數為 6,十六進位基數為 16。每個數字位置代表基數的一次方冪。
無符號整數
沒有符號位的非負整數;所有位元都對大小有貢獻。此工具僅接受無符號值。
六進位
使用數字 0–5 的基數 6 記數法。位值是 6 的冪,例如 \(24_6 = 2\times6 + 4 = 16\)。
十六進位
使用數字 0–9 和字母 A–F 的基數 16 記數法(其中 A=10 … F=15)。每個十六進位數字清晰地映射到恰好四個二進位位元。
八進位
使用數字 0–7 的基數 8 記數法。每個八進位數字恰好映射到三個二進位位元。
遮罩
與位元運算一起使用的常數值,用於選擇、設定或清除特定位元——例如,與 \(0\text{F}_{16}\) 進行 AND 運算只保留低四位位元。
奇偶性
值中 1 位元個數的奇偶性。XOR 是奇偶性檢查的基礎:所有位元的 XOR 在奇偶性為奇數時等於 1,在偶數時等於 0。

常見問題

支援負數嗎?不支援。輸入值必須是非負的無號整數,本工具不處理二補數(two's complement)的符號運算。

如果輸入了無效的數字怎麼辦?超出所選進位制範圍的數字(例如在八進位中輸入「8」)會被忽略或視為 0,因此請務必確認進位制選擇是否正確。

為什麼檢查碼常用 XOR?因為把一連串位元組做 XOR、再用同樣的資料流做一次 XOR,結果會回到 0,所以 XOR 是一種簡單又可逆的方法,可用來偵測單一位元的變化並計算奇偶校驗。

最後更新: