②模2减法运算定义为: 0-0=0 0-1=1 1-0=1 1-1=0 例如0110-0011=0101,列竖式计算: 0 1 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除法也类似于普通意义上的多位二进制除法,但是在如何确定商的问题上两者采用不同的规则。多位模2除法采用模2减法,不带借位的二进制减法,因此考虑余数够减除数与否是没有意义 的。实际上,在CRC运算中,总能保证除数的首位为1,则模2除法运算的商是由余数首位与除数首位的模2除法运算结果确定。因为除数首位总是1,按照模2除法运算法则,那么余数首位是1就商1,是0就商0。例如1100100÷1011=1110……110,列竖式计算: 1 1 1 0 ────────1 0 1 1〕1 1 0 0 1 0 0 ^ 1 0 1 1 ──────── 1 1 1 1 ^ 1 0 1 1 ───────── 1 0 0 0 ^ 1 0 1 1 ──────── 0 1 1 0 ^ 0 0 0 0 ──────────── 1 1 0