跳轉到內容

資料編碼理論/模二運算

來自華夏公益教科書,開放的書籍,開放的世界

模運算,通常用“%”運算子表示,在資料編碼中是一個有用的運算。模是指兩個數相除後得到的餘數。例如,如果我們將 10 除以 3,不計算小數點,我們將得到

餘數為

在除法中,我們通常有以下公式

其中s是我們的被除數,d是我們的除數,n是我們的商,r是餘數。從這個公式,我們有兩種運算

請注意,從這些公式中可以看出r必須始終小於d

模二運算

[編輯 | 編輯原始碼]

模二運算是一種算術系統,其中每個結果都取模二。以下是一些例子

簡而言之,如果結果為奇數,則運算結果為 1,如果結果為偶數,則運算結果為 0。由於我們在資料編碼中處理的是單個位,因此我們的大多數運算元將是 1 或 0。只要我們的運算元是 1 或 0,我們的結果是模二,我們寫入的所有數字都應該是 1 或 0。

模二運算的一個常見應用是在數位電路中,其中邏輯運算都是模二進行的。

模二運算子

[編輯 | 編輯原始碼]

在我們的模二運算系統中,我們定義了新的運算子。這些運算子通常與布林邏輯運算子非常相似,因此我們將在下面討論布林邏輯運算子。

加法
要新增兩個數字,我們對結果取模二。以下是加法運算的真值表
+ 0 1
0 0 1
1 1 0
如果您熟悉布林邏輯,您會發現加法與異或運算相同。因此,我們將交替使用“加法”和“異或”這兩個術語,並將模二加法運算用“圓圈加號”表示
乘法
模二乘法正常進行,不需要定義新的運算子。以下是乘法運算的真值表
× 0 1
0 0 0
1 0 1
這與布林“與”運算完全相同。我們將交替使用“乘法”和“與”這兩個詞。

減法和除法運算在資料編碼中很少見,因此我們不會在這裡討論它們。

華夏公益教科書