模2除法

2019-04-13 11:53发布

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