IT@程序员猿媛简更Java 杂谈

用加法器做减法

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。

上一篇下一篇

猜你喜欢

热点阅读