欢迎来到天天文库
浏览记录
ID:57711130
大小:15.00 KB
页数:2页
时间:2020-09-01
《二进制除法原理.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、二进制除法原理其实二进制除法和我们平时用竖式计算的10进制除法的原理是一样的,但是有一点要注意,就是计算机计算的结果是有限的,比如说一个16Bit数除以一个8Bit数,结果不能超过8Bit,否则按溢出处理。所以在计算前先要判断结果会不会溢出,方法是用被除数的高8位和除数相减,如果大于等于0则认为是溢出:商大于等于0x100,任何一个8Bit数与0x100乘积的高8位只可能小于除数,例如一个16进制数0x12,乘以0x100的结果为0x1200,也就是说只有小于0x1200的除数除以0x12的商才不会超过8Bit。例如:0x1200/0x1
2、2(结果为0x100)-->(0x12-0x12)=0,溢出0x11FF/0x12(结果为0xFF)-->(0x11-0x12)<0,不会溢出计算方法:(0x0E8E/0x12)0000111010001110/000100100001110100011100假设商为0,商和被除数左移一位00010010___________________00001011够减,上次假设的商为1,再假设本次商为0和被除数同时左移一位000101100011101000010010___________________00000100够减,上次假设的商为1
3、,再假设本次商为0和被除数同时左移一位000010000111011000010010___________________--------不够减,上次假设的商OK,再假设本次商为0和被除数同时左移一位000100001110110000010010___________________--------不够减,上次假设的商OK,再假设本次商为0和被除数同时左移一位001000011101100000010010___________________00001111够减,上次假设的商为1,再假设本次商为0和被除数同时左移一位00011111
4、1011001000010010___________________00001101够减,上次假设的商为1,再假设本次商为0和被除数同时左移一位000110110110011000010010___________________00001001够减,上次假设的商为1,再假设本次商为0和被除数同时左移一位000100101100111000010010___________________00000000够减,上次假设的商为1,即11001111,移位8次,结束开始:判断是否溢出,溢出,设置溢出标志退出否则,继续循环计数器=8循环开始:
5、被除数带0左移一位被除数高8位和除数相减,不够减则检查循环次数否则用8为差替换被除数的高8位被除数最低位置1(即刚才假设的商应该为1)检查循环次数:循环计数器减1,不为0则继续循环(跳到循环开始处)否则,清除溢出标志输出商结束
此文档下载收益归作者所有