二进制除法与模2除法的区别(转)

2019-04-13 11:59发布

模2除法(转)


十进制的除法,大家都会做:列个竖式,商,写在上面,上个几,再用被除数减去积,求得余数...。 二进制的除法,和十进制的计算方法相同,也要列出个竖式计算。 二进制的除法,还有一种“模2除”,很多人就不熟悉了,甚至连“百度百科”中,也写不清楚这个概念和方法。此外还有:“模2和”、“模2减”等等。 二进制数字的计算,很有特点。 两个二进制数字的相加,如果不考虑进位,就是“模2和”;
两个二进制数字的相减,如果不考虑借位,就是“模2减”。 “模2和”、“模2减”,名称、算法虽然不一样,但是,结果是相同的,实际上都是两个二进制数字相“异或”。 如果两个二进制数字相同,“异或”的结果就是0;
如果两个二进制数字不同,“异或”的结果就是1。 “模2除”就是在求余数的时候,应用了“模2减”。 下图就是“二进制的除法”和“模2除”的计算过程竖式:  
在“模2除”中,因为使用了“模2减”,所以在商上1的时候,不要考虑够不够减(因为这里不是二进制的除法),只要最高位是1,位数凑够了四位,就可以用它“模2减”1001。 “模2除”在“循环冗余校验(CRC)”中,有广泛的应用。