透過 MCP 連接 →

輸入計算

數學公式

廣告

結果

奇同位元
1
附加此位元使 1 的總數成為奇數
資料中 1 的個數 4
加上同位元後 1 的總數 5
資料長度(位元) 7

什麼是奇同位元?

同位元(parity bit)是附加在一段二進位資料後面的單一額外位元,用來進行基本的錯誤偵測。採用奇同位(odd parity)時,這個同位元會被設定成讓 1 的總數——也就是資料位元加上同位元本身——永遠保持為奇數。本計算器會數出您輸入字串中 1 的數量,並算出符合奇同位規則所需的同位元(0 或 1)。

附加同位位元後使 1 的總數為奇數的資料位元
加入一個奇同位位元,使 1 的總數為奇數。

如何使用本計算器

輸入您的二進位資料字串(只能包含字元 0 和 1)。計算器會統計其中有幾個 1。若 1 的個數本來就是奇數,同位元就是 0(不需更動);若 1 的個數是偶數,同位元則為 1,加上後即可讓總數變成奇數。

公式說明

假設資料中 1 的個數為 k。奇同位元的計算方式為 $$P = (k + 1) \bmod 2$$ 換句話說,當 k 為偶數時 \(P = 1\),當 k 為奇數時 \(P = 0\)。傳送的編碼字(codeword)就是原始資料再附加 P,如此即可確保 1 的總數為奇數。

根據 1 的個數計算奇同位位元的流程圖
若 1 的個數為偶數,同位位元為 1,否則為 0。

實際範例

以資料 1011001 為例。數一數其中的 1:出現 1 的位置共有 1、1、1、1,也就是 4 個 1,屬於偶數。為了讓總數變成奇數,必須再加上一個 1,因此同位元為 1。完整的編碼字為 10110011,其中含有 5 個 1(奇數)。若資料是 1011000(3 個 1,本來就是奇數),則同位元為 0

常見問題

奇同位與偶同位有什麼差別?偶同位(even parity)讓 1 的總數為偶數;奇同位(odd parity)則讓總數為奇數。本工具採用的是奇同位。

同位元能偵測所有錯誤嗎?單一同位元可以偵測出奇數個位元翻轉的錯誤,但無法偵測偶數個錯誤,也無法定位或修正錯誤。

同位元用在哪些地方?同位元常見於序列通訊(如 UART)、記憶體系統,以及許多簡易的資料完整性檢查中。

最後更新: