模2加减法
需要先了解模2加减法,究其根本其实是按位进行异或操作。
模2加减法
(按位异或操作,相同则0,不同则1)
0 ± 0 = 0
1 ± 1 = 0
0 ± 1 = 1
1 ± 0 = 1
例子:1011 ± 1000
计算过程:
1 0 1 1
± 1 0 0 0
------------
0 0 1 1
结果:1011 ± 1000 = 0011
模2除法:
跟普通除法类似,但是
每次步骤的余数
第一位为1的话商写1并用除数继续除
第一位为0的话商写0并用0继续除
直到余数位数比除数要少为止。
例子:1111000对除数1101做模2除法:
1 0 1 1 // 商
------------------------
1101 | 1 1 1 1 0 0 0 // 被除数,因为首位为1,所以商第一位写1
/ 1 1 0 1 // 除数,因为被除数首位为1,所以用除数进行除
-----------------------
0 1 0 0 // 被除数,从上面进行模2加减法得到的
0 0 0 0 // 因为被除数首位为0,所以商第二位写0,并用0进行除
-----------------------
1 0 0 0 // 被除数,从上面进行模2加减法得到的
1 1 0 1 // 除数,因为被除数首位为1,所以用除数进行除
-----------------------
1 0 1 0 // 被除数,从上面进行模2加减法得到的
1 1 0 1 // 除数,因为被除数首位为1,所以用除数进行除
-----------------------
1 1 1 // 余数
所以,结果是:商1011余111
参考博客:https://blog.csdn.net/qq_33411687/article/details/82593466