网站建设行业衰落,上海建筑设计院地址,河北建筑网站,济南新闻头条最新事件我们这里的加法器只考虑一位的情况。
当我们两个一位相加的话#xff0c;那么就有两个输入#xff0c;两个输出#xff0c;两个输入很好理解#xff0c;就是两个个位上的数字#xff0c;0或者是1#xff0c;那么为什么需要有有个输出呢#xff1f;难道不是输出一个数就…我们这里的加法器只考虑一位的情况。
当我们两个一位相加的话那么就有两个输入两个输出两个输入很好理解就是两个个位上的数字0或者是1那么为什么需要有有个输出呢难道不是输出一个数就好了吗因为如果两个数字都是1的话那么就要考虑到进位的情况所以这个时候就有了两个输出一个是S一个是C_out其中的C_out就是表示输出的进位。那么这样的话就构成了一位的半加器。如下图 这个就是一位的半加法器。那怎么写出这种情况来的呢其实就是将所有的A,B的输入情况全部枚举出来然后写出对应的所有的S和C的情况根据A,B和S的关系然后推断出其中要使用那种逻辑电路才能写出来总之大部分的关系都是可以通过一个逻辑符号表示出来的如果一个不可以的话那就写两个或者是更多。
那为什么要引入全加法器呢半加法器实现不了吗原来半加法器只能实现个位的加减法而十位百位这些在中间的为主如果低位有进位的话那么就还需要一个出入的变量进行想加所以得加入低位的进位C_in进行想加。那么这个时候有了三个输入的想加的变量而一个半加法器只能同时进行两个数字的计算这样的话就需要两个半加器进行计算就好了。我们可以将两个半加器的想加当做是两个阶段进行计算第一个半加器的相加是旧相加第二个半加器的相加是新相加故而第一个半加器输出的C是C_旧第二个半加器输出的是C_新。我们假设有一个十位上的A,B两个数字相加然后有一个个位上的进位C_in那么首先A,B先进行一个半加器的想加输出的是一个十位上的数字同时还有一个向高位的进位C_旧那么由于个位上的进位需要到十位上进行一个计算所以第一次半加器计算的记过S需要和C-in进行第二次计算计算出十位上的S和百位上的进位C-新此时第二次算出来的S才是真正要计算出去的S因为已经经过了所有十位上的计算而百位上的进位有两个一个是C-旧一个是C-新这个时候要根据两个的值最后求出一个最后输出的C-out。实际上我们知道如果一开始A,B进位的话那么输入到第二个加法器中的S一定是0因为最大就是两个1相加故而第二个加法器中的C-新最大为1即两个C不可能同时为1,即不能同时进位故而C-旧和C新就只有三种情况1,00,10,0就只有这三种情况而最后输出的C_out结果分别是他们两个数相加为了避免再使用一次加法器这个时候就需要用一个逻辑门来实现这个功能显然使用逻辑或门是最好的完全可以包括所有的情况所以有了以下的电路。 那么有了一位的全加器可不可以实现四位八位甚至是更高位数上的想加呢答案是可以的但是这里只演示四位的全加器。 ____________________________________________________________________________
其实减法也是同理只不过是由进位变成了借位而已也需要两个半减法电路去实现的最终也是使用或门来连接的输出值基本上和加法电路是一样的不过需要注意的是一次借位是2。
相关文章: