首页 > 编程知识 正文

模2的运算性质,模3运算和模2运算

时间:2023-05-04 19:51:04 阅读:157737 作者:4558

模2运算是二进制算法,是CRC检测技术的核心部分。 因此,在分析CRC算法之前必须掌握模2运算的规则。 与四则运算相同,模式2运算也包括模式2加法、模式2减法、模式2乘法、模式2除法四种二进制运算。 另外,模式2运算也使用与四则运算相同的运算符。 即,“”表示模式2的加法,“-”表示模式2的减法,“”或“”表示模式2的乘法,“”或“/”表示模式2的除法。 与四则运算不同,类型2运算不考虑进位和借位。 也就是说,模型2加法是没有进位的2进制加法,模型2减法是没有进位的2进制减法。 这样,在2进制相位运算时,2个比特的值没有受到前一次运算的影响,也可以在不影响下一次的情况下确定运算结果。

模2加法定义如下

0 0=0 0 1=1 1 0=1 1 1=0

例如,0101 0011=0110,列纵向计算:

0 1 0 1

0 0 1 1

———————————————————————————————————

0 1 1 0

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级乘法的定义如下

00=0 01=0 10=0 11=1

多位二进制乘法类似于一般意义上的多位二进制乘法。 但是,后者在累计中间结果(或部分积)时使用带进位的加法,而模平方使用模2加法作为处理中间结果的方法。 例如,1011101=100111,列纵向计算:

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除法定义如下

01=0 11=1

多位二进制二除法也类似于普通意义上的多位二进制除法,但在如何确定商的问题上两者采用了不同的规则。 后者用带位数的二进制减法,根据剩余减法算术是否充分减少来决定是商1还是商0,如果充分减少,则为商1,否则为商0。 多位模式2除法采用模式2减法,不借位的2进制减法,所以考虑馀数能否减少是没有意义的。 实际上,CRC运算确保除数顶部始终为1,馀数顶部和除数顶部的模2除法结果决定模2除法的商。

只有当剩余位数与除数的位数相同时才进行异或运算,剩余的顶部为1,商为1,剩余的顶部为0,商为0。 已经去掉数位后,如果余数小于除数,商0,余数向右补一位,位数少于除数,则继续商0,如果余数与除数位数相同,商1进行异或运算,得到新的余数,到达被除数的最后一位。

除数的顶端总是1,所以根据模型2的除法定律,如果馀数的顶端是1,则商1,0,则商0。 例如11001001011=1110……110、列纵式计算:

1 1 1 0

---------------

1111 ) 10010

- 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

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。