计算方法
加法
从低位到高位依次运算,“满二进一”,同一数位上只有四种情况: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



















