减法运算
这里只讨论数值码,即数码中不包括符号位。以前应用的自然二进制码称为原码,所谓反码就是将原码中的所有0变为1,所有1变为0后的代码。观察如下几组原码与反码之间的关系。
显然,每组反码都是从1111中减去原码的结果,所以,可得如下反码与原码的一般关系式:N反=(2n-1)-N原
其中N等于数码的位数。
定义补码为:N补=2n-N原
于是,便可得到补码和反码的关系式:N补=N反+1
由以上分析可知,一个数的反码可将原码经反相器获得,而由反码加1就可得到补码。
由反码与原码的一般关系式可得两数A、B相减的表达式:
上式表明A减B可由A加B的补码并减2n完成。
比较两种运算结果可知,前者正好是后者的绝对值的补码,借位信号V为1时表示差为负数,V为0时差为正数。若要求差值以原码形式输出,则还需进行变换。由补码的定义式可知,即将补码再求补得原码。这时的求补逻辑电路如下图所示:
结合4位减法运算逻辑电路和这个求补逻辑电路可组成输出为原码的完整的4位减法运算电路。求补相加而得的差输入到不同的异或门的一个输入端,而另一输入端由借位信号V控制。当V=1时,D3~D0反相,加法器也不实现加1运算,维持原码。
评论