模2除法

模2除法

計算方法
模2除做法與算術除法類似,但每一位除(減)的結果不影響其它位,即不向上一位借位。所以實際上就是異或。然後再移位移位做下一位的模2減。[1]1000000B(被除數)對1011(除數)做模2除法,得到的餘數便是101B(即CRC校驗和),所以該數據的循環冗餘校驗後的數據應為1000000B+101B=1000101B。想知道模2除法,隻需要知道什麼是異或運算就很容易算出。
    中文名:模2除法 外文名: 适用領域: 所屬學科: 應用:網絡傳輸、計算機 功能:循環冗餘校驗碼(CRC)的計算 實質:異或 定義:二進制下的除法

計算方法

加法

從低位到高位依次運算,“滿二進一”,同一數位上隻有四種情況:0+0=0,0+1=1,1+0=1,1+1=10

減法

先把數位對齊,同一數位不夠減時,從高一位借位,“借一當二”。

乘法

乘法口訣為:零零得零,一零得零,一一得一。

除法

每一位商數非0則1。

二進制除

二進制數字的計算,很有特點。兩個二進制數字的相加,如果不考慮進位,就是“模2和”;兩個二進制數字的相減,如果不考慮借位,就是“模2減”。

“模2和”、“模2減”,名稱、算法雖然不一樣,但是,結果是相同的,實際上都是兩個二進制數字相“異或”。如果兩個二進制數字相同,“異或”的結果就是0;如果兩個二進制數字不同,“異或”的結果就是1。

“模2除”就是在求餘數的時候,應用了“模2減”。在“模2除”中,因為使用了“模2減”,所以在商上1的時候,不要考慮夠不夠減(因為這裡不是二進制的除法),隻要最高位是1,位數湊夠了四位,就可以用它“模2減”1001

實例分析

例1

1111000除以1101

例2

被校驗的數據M(x)=1000,其選擇生成多項式為G(x)=x^3+x+1,該數據的循環冗餘校驗和應為多少?

G(x)=x^3+x+1對應的二進制數為1011,且G(x)中含3個項式,生成多項式為4位二進制,由CRC規則應該取(4-1)=3位(校驗和),所以可以預加上3位得到1000B*2^3=1000000B;

1000000B(被除數)對1011(除數)做模2除法,得到的餘數便是101B(即CRC校驗和),所以該數據的循環冗餘校驗後的數據應為1000000B+101B=1000101B。

具體說明

想知道模2除法,隻需要知道什麼是異或運算就很容易算出。

計算機中,異或邏輯表示為:(記憶方法:同為0異為1)

1^1=0

0^0=0

1^0=1

0^1=1

相關詞條

相關搜索

其它詞條