原理:
二进制除法就是把十进制除法换成二进制表示。
主要掌握以下几点:
- 十进制与二进制相互转换
- 二进制乘法(对位相乘进位)
方法1:
按十进制除法的形式算,只是把素全部表示为二进制。
如:
先写出38和6的二进制 再将除法用二进制表示 计算出商和余数并转化为十进制
方法2:
被除数不动,除数不断右移,本质上相当于看最多几个除数累加能逼近于被除数。(加上余数后就等于被除数)
如: 91 = 22个4+余数3, 38 = 6*6+2
从上图中可以看出方法2的计算过程,
91的二进制为:0 4的二进制为:100
1、先进行末尾补零至4的二进制最高位与91的二进制最高位对齐(除数再左移一位就大于被除数了不能再移),左移一位代表乘2,右移一位代表除2;
91的二进制为: 0 4补零后的二进制为: 0(即十进制的64)
2、进行第一次二进制减法运算:
0 - 0 = 00011011
显然余数00011011不为0,所以被除数91(十进制)中至少包含一个0(即十进制的64)
,商的二进制中开始计数记上一位1;
目前的商为二进制1
;
3、减法运算完毕一次以后,右移一位,看是否超出了被除数,如果超出了被除数的值,说明不能再除也不能再减了,那么继续右移,并在商的结果中记上一位0;
目前的商为二进制10
;
00011011 - 00 x
4、继续右移,进行第二次二进制减法运算:
00011011 - 00010000 = 00001011
显然余数00001011不为0,所以被除数91(十进制)中至少包含一个00010000(即十进制的16)
,商的二进制中计数记上一位1;
目前的商为二进制101
;
5、继续右移,进行第三次二进制减法运算:
00001011 - 00001000 = 00000011
显然余数00000011不为0,所以被除数91(十进制)中至少包含一个00001000(即十进制的8)
,商的二进制中计数记上一位1;
目前的商为二进制1011
;
6、减法运算完毕一次以后,右移一位,看是否超出了被除数,如果超出了被除数的值,说明不能再除也不能再减了,那么继续右移,并在商的结果中记上一位0;
目前的商为二进制10110
;
00000011 - 00000100 x
7、此时不急着再右移,检查此时的商10110即十进制的22,22*4=88
,包含了22个除数4,商再往后除已经除不动4了,所以剩下的00000011
(十进制的3)就是余数,之前累计得到的商10110
为22;
到此为止,22*4+3=91
验算正确,二进制除法计算完毕!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ji-chu/88978.html