模2運算的原理

2021-07-04 06:52:05 字數 1856 閱讀 7906

模2

運算是一種二進位制演算法,

crc校驗技術中的核心部分,因此,我們在分析

crc演算法之前,必須掌握模

2運算的規則。

與四則運算相同,模2運算也包括模2加、模2減、模2乘、模2除四種二進位制運算。而且,模2運算也使用與四則運算相同的運算子,即「+」表示模2加,「-」表示模2減,「×」或「·」表示模2乘,「÷」或「/」表示模2除。與四則運算不同的是模2運算不考慮進製和借位,即模2加法是不帶進製的二進位制加法運算,模2減法是不帶借位的二進位制減法運算。這樣,兩個二進位制位相運算時,這兩個位的值就能確定運算結果,不受前一次運算的影響,也不對下一次造成影響。

模2加法運算定義為:

這是一種二進位制的運算,等同於「異或」運算。 通常用於計算機和電子領域。

規則是兩個序列模二相加,即兩個序列中對應位,相加,不進製,相同為0,不同為1。

1+1=0+0=0

1+0=0+1=1

0+0=0 

0+1=1 

1+0=1 

1+1=0

例如0101+0011=0110,列豎式計算:

0 1 01

+ 0 0 1 1

──────

0 1 1 0

模2減法運算定義為:

0-0=0 

0-1=1 

1-0=1 

1-1=0

例如0110-0011=0101,列豎式計算:

01 1 0

-0 0 1 1

──────

0 1 0 1

模2乘法運算定義為:

0×0=0 

0×1=0 

1×0=0 

1×1=1

多位二進位製模2乘法類似於普通意義上的多位二進位制乘法,不同之處在於後者累加中間結果(或稱部分積)時採用帶進製的加法,而模2乘法對中間結果的處理方式採用的是模2加法。例如1011×101=100111,列豎式計算:

1 0 1 1

× 1 0 1

──────

1 0 1 1

00 0 0

+ 1 0 1 1

────────

1 0 0 1 1 1

模2除法運算定義為:

0÷1=0 

1÷1=1

多位二進位製模2除法也類似於普通意義上的多位二進位制除法,但是在如何確定商的問題上兩者採用不同的規則。後者按帶借位的二進位制減法,根據餘數減除數夠減與否確定商1還是商0,若夠減則商1,否則商0。多位模2除法採用模2減法,不帶借位的二進位制減法,因此考慮餘數夠減除數與否是沒有意義 的。實際上,在crc運算中,總能保證除數的首位為1,則模2除法運算的商是由餘數首位與除數首位的模2除法運算結果確定。因為除數首位總是1,按照模2除法運算法則,那麼餘數首位是1就商1,是0就商0。例如1100100÷1011=1110……110,列豎式計算:

1 1 10

────────

1 0 1 1〕1 1 0 0 1 00

-1 0 1 1

──────

1 1 1 1

-1 0 1 1

──────

10 0 0

-1 0 1 1

──────

01 1 0

-0 0 0 0

──────

1 1 0

模2運算的原理

模2運算是一種二進位制演算法,crc校驗技術中的核心部分,因此,我們在分析crc演算法之前,必須掌握模2運算的規則。與四則運算相同,模2運算也包括模2加 模2減 模2乘 模2除四種二進位制運算。而且,模2運算也使用與四則運算相同的運算子,即 表示模2加,表示模2減,或 表示模2乘,或 表示模2除。與...

模2運算的原理

模2運算的原理 模2運算的原理 2011 09 26 10 59 模2運算是一種二進位制演算法,crc校驗技術中的核心部分,因此,我們在分析crc演算法之前,必須掌握模2運算的規則。與四則運算相同,模2運算也包括模2加 模2減 模2乘 模2除四種二進位制運算。而且,模2運算也使用與四則運算相同的運算...

模2運算的原理

模2運算是一種二進位制演算法,crc校驗技術中的核心部分,因此,我們在分析crc演算法之前,必須掌握模2運算的規則。與四則運算相同,模2運算也包括模2加 模2減 模2乘 模2除四種二進位制運算。而且,模2運算也使用與四則運算相同的運算子,即 表示模2加,表示模2減,或 表示模2乘,或 表示模2除。與...