在早期的计算机中,进行加/减运算,通常都是用加法器来完成的。 因为,在早期的计算机中,并没有减法器,只能用补码代替负数,再用加法器来完成减法运算。
但是,在经历了 “晶体管、集成电路、大规模集成电路” 几个时代之后,计算机的 CPU 中,都集成了 “算术逻辑单元(ALU)”。 那么,再做减法运算,显然就是由减法器直接完成了。 这时,就不再需要讨论怎么变换成补码再相加了。
计算机具有了减法器(或减法电路),让计算机做除法,也就简单多了。
在讨论计算机做除法运算之前,先分析一下除法,到底是怎么进行的。
下图,分别是两个二进制数做乘/除运算的竖式。
可以看出:乘法,是把被乘数进行移位累加。 除法,是把除数进行移位连减。
乘积的位数,是两个乘数的位数之和。 而除法,位数的关系则与乘法相反。
为了规范起见,两个乘数,都选用了四位二进制数,那么,乘积,就必然是八位了。
而当被除数是八位时,想要得到四位的商(和四位的余数),就要有一个要求:
被除数的高四位,必须小于除数。