如何通关第四章第二节‘全加器’?

2021/9/6378 浏览攻略
书接上回‘异或门’,因为要用到‘异或门’,这个作用巨大的取余函数我就不赘述了。毕竟接下来的内容要引用到这个函数,不用它不是不行,只是这样子解释起来就比较多比较复杂,码字不易,读着也累。
还是分两步走
(1)取个位
直接两个取余函数XOR上去,一步到位
TapTap
(2)取十位<方法一>
三个个位数加起来最多也就只能到十位数,所以百位不用考虑。所以就两步就可以解决问题了,百位可以不用管,无意义。
能够进到十位的有两种情况,但其中两个数是1或者三个数都是1的时候有十位,四个数都是1呢?这里没有第4个数,只有3个数……
(2-1)算了,不管那么多了,先看看下面两个数能不能进1位,是不是都是1,是的话直接完事,上个and。
TapTap
(2-2)能进1的有三种情况,一种就是(2-1)说的下面两数都是1;一种是下面两个数其中一个是1,上面的那个数是1;那就下面那个连个XOR,再连个and。
TapTap
(2-3)能进1的有三种情况还有一种就是三个数都是一,嗯……,就当包括在(2-1)里面,不用考虑了,嗯,考虑也行。就下面连个and,然后再来个and。
TapTap
(2-4)把上面(2-1),(2-2),(2-3)三种情况都用or连起来,结合在一起,得出的结果就是十位数了。
TapTap
这样子不就搞定了,还有什么问题吗
还有个
(2)取十位<方法二>
如图
TapTap
8
2
2