m位数 / n位数 = (m - n + 1)位数—->最多位数 注:(m>=n)

二进制除法的运算,本质上相当于看最多几个除数累加能逼近于被除数。 (加上余数后就等于被除数)。

定点数除法(均使用试商法,即恢复余数法,但计算机实际使用不恢复余数法) 1.无符号数除法 无符号数除法运算用减法和移位运算来实现

    (1)先对除数末尾补零到与被除数位数对齐(通过左移实现),左移一位代表乘2,右移一位代表除2;

    (2)判断大小,确定该位商1还是商0。

        计算机不可能提前知道除数是否小于被除数。

        先让被除数减去除数,若结果为>=0,说明被除数>=除数,直接商1。
        若结果为负数,说明被除数<除数,说明不能减,则先恢复被除数的原值,再商0。

    比如32(n)位的除法:被除数64(2n)位,除数32(n)位。
    先把除数左移32位,然后开始同十进制类似计算。
    因为二进制只有0和1所以退化为减法,先减去被除数,如果结果为负,则当前位商置为0,再加回来,
    如果结果为正,则当前位商为1,除数右移一位,继续如上做减法。
    循环n+1次,商的位数满足为止。

2.有符号数除法
    (1)原码表示(符号位与数值位分开求)
        1.符号位:被除数和除数的符号位“异或”运算得到

        2.数值位:被除数和除数的数值位执行 “无符号除法”

        注:余数符号位与被除数符号位相同
    (2)补码表示(符号位参与运算)
        1.符号位参与运算,除数和被除数,余数和商(异号相除较特殊)均用补码表示。

        2.其他过程与无符号除法一致,区别在于判断是否可以减时,不能直接相减看结果的符号位,要按分情况来看。

        注:如果同号相除得商;异号相除,将商的负数求补(带符号位)