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