用加法器做减法
2019-04-23 本文已影响3人
日更专用小马甲
上一篇完成了一个1位的全加器,一个输入管脚的高低电平可以代表0或1。当把n个全加器级联在一起,n个管脚就可以表示2的n次方种可能的正整数。
以n = 2为例,可以表示2个0-3之间的数相加。那么3-1又要怎么实现。
我们把可表示的数枚举出来:
当3-1时,将指针左移动1格得到2,和将指针右移1回到0再又移2格得到的结果一致。
左移代表减法,右移代表加法。
那么对于4进制数,在高位溢出的情况下,-1和+3是等价的。那么接下来就是如何表示1和3这样的关系。
减法的等价运算总结起来就是右移的数字等于3(4进制能表达的最大正整数)减去左移的数字,再加1。