模2运算

模2运算是一种二进制算法,CRC校验技术中的核心部分。与四则运算相同,模2运算也包括模2加、模2减、模2乘、模2除四种二进制运算。而且,模2运算也使用与四则运算相同的运算符,即“+”表示模2加,“-”表示模2减,“×”或“·”表示模2乘,“÷”或“/”表示模2除。与四则运算不同的是模2运算不考虑进位和借位,即模2加法是不带进位的二进制加法运算,模2减法是不带借位的二进制减法运算。这样,两个二进制位相运算时,这两个位的值就能确定运算结果,不受前一次运算的影响,也不对下一次造成影响。

模2加

等同于“异或”运算,两个序列中对应位,相加,不进位,相同为0,不同为1。
如:1+1=0 , 0+0=0,   1+0=1,0+1=1

模2减

减法规则同加法规则一样,按加法规则计算
如:0-0=0, 1-1=0, 0-1=1, 1-0=1

模2乘

多位二进制模2乘法类似于普通意义上的多位二进制乘法,不同之处在于后者累加中间结果(或称部分积)时采用带进位的加法,而模2乘法对中间结果的处理方式采用的是模2加法。例如1011×101=100111,列竖式计算: 0*0=0,    0*1=0,    1*0=0,   1*1=1

    1 0 1 1
     ×  1 0 1
    ──────
       1 0 1 1
    0 0 0 0

1 0 1 1
────────
1 0 0 1 1 1

模2除

模2除法与算术除法类似,但每一位除的结果不影响其它位,即不向上一位借位,所以实际上就是异或
111000除以1101:

  1. #第一步  
    1111000  
    1101  
    0010000 ----余数,商为1,只要第一位非0商就是1  
    #第二步,每步移一位,当起始位为0时,除以0;为1时除以除数。  
    010000  
    0000  
    010000  ----余数,商为0,只要第一位是0商就是0  
    #第三步  
    10000  
    1101  
    01010  -----余数,商为1,这里的余数你猜出,其实就是对应位异或  
    #第四步  
    1010  
    1101  
    0111   ------余数,商为1,如果位数比除数还小,不再继续运算 









评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值