最近复习计算机网络相关的知识,学到CRC校验码时用到了模二除法,于是在回过头去重新温习了一下模二算法
百度百科对模二算法的解释是
模2运算是一种二进制算法,CRC校验技术中的核心部分。与四则运算相同,模2运算也包括模2加法、模2减法、模2乘法、模2除法四种二进制运算。与四则运算不同的是模2运算不考虑进位和借位,模2算术是编码理论中多项式运算的基础。模2算术在其他数字领域中的应用也是很广泛的。
实际上,无论是二进制还是十进制四则运算,原则上都是一样的,而模二运算与其区别就体现在,模二运算不考虑进位借位。
1. 模二加减
模二加法,模二减法,虽然名字不同,实际上是一样的,都是对两个数字进行异或操作,即“相同出零,相异出一”
即
和
2.模二乘法
模二乘法,类似于普通乘法,区别就在于,处理中间结果使,采用模二加,即异或操作
3. 模二除法
模二除法在除的过程中和普通除法相同,仅仅是在求商的过程中采用模二减法