北京良医帮刘龙涛简介:二进制除法

来源:百度文库 编辑:中财网 时间:2024/04/27 19:02:43
比如在十进制中,从十位借一位到个位,用在个位减的时候,就是10+个位上的数,二进制,从十位借一位到个位,用在个位减的时候,就是2+个位上的数
比如说:101-11,个位够减,为0,十位不够,从百位上借1,所以十位就为2,被减数十位-减数十位,为2-1=1,所以结果为10    
二进制除法中,除到最后有余数怎么办? 如果是定点数(整数),那就舍掉了。如果是浮点数,则继续加位运算,直到精度达到后舍掉。  
二进制乘法远比十进制简单,比如乘数是1011,只需将将被乘数分别左移3位、1位,移动后补入0,并将这三个数(被乘数左移3位的、被乘数左移1位的及未移位的被乘数)在累加器中相加,所得总和就是积,根据需要积可再转化为十进制。 
除法与乘法类似,只不过将左移改为右移,加改成减。实际上减也是通过取补码后再加
除法一般不好优化,直接按照笔算步骤来算就可以了: 

1、根据被除数(余数)和除数的大小来上商;
2、被除数(余数)低位补0,再减去右移后的除数,也可以改为左移余数,减去除数,这样可以确保参与运算的寄存器具有相同的位数;
3、商写到寄存器的最低位,然后商左移1位。  
连续做减法,现在公认的就是这个,让被除数连续减去n个除数,直到差小于除数时为止,这样减去的次数就是商,剩下的差就是余数。