Logisim实验-半加器与全加器电路实现,并设计实现4位二进制数的补码器电路
一、逻辑门
二、半加器电路
半加器(half adder)将两个一位二进制数相加
x | y | 本位输出s | 进位输出c |
---|---|---|---|
0 | 0 | 0 | 0 |
0 | 1 | 1 | 0 |
1 | 0 | 1 | 0 |
1 | 1 | 0 | 1 |
三、全加器电路
全加器(full adder)将两个一位二进制数相加,并根据收到的低位进位信号,输出和、进位输出。
x | y | 进位输入 | 本位和输出 | 进位输出 |
---|---|---|---|---|
0 | 0 | 0 | 0 | 0 |
0 | 1 | 0 | 1 | 0 |
1 | 0 | 0 | 1 | 0 |
1 | 1 | 0 | 0 | 1 |
0 | 0 | 1 | 1 | 0 |
0 | 1 | 1 | 0 | 1 |
1 | 0 | 1 | 0 | 1 |
1 | 1 | 1 | 1 | 1 |
四、4位二进制数原码转补码
要求:当输入一个4位二进制数后,补码电路 将输出对应的4位二进制补码。
要实现此电路,首先我们要了解原码转补码的原理,如下:
- 正数的补码与原码相同 ,类如,二进制数0010的补码还是0010。
- 负数的补码是将其原码除符号位外的所有位取反(0变1,1变0,符号位1不变)后,再加1。
因为正数与负数的补码运算规则不一样,负数的运算规则中多了一项取反操作,因此,我们要先依据符号位的正负,对原码进行取反或不变操作。
- 当符号位为1时,即原码为负时(以最低位为例):
- 当符号位为0,即原码为正时(以最低位为例):
可知,当符号位与除符号位外的其余位分别作为异或门的两个输入端时,正数的原码保持不变,负数的除符号位全部取反,满足我们的要求。
同时,正数的原码不需要进行加1操作,而负数的原码在取反操作后还需要再加1。因此,我们可以在原码的最低位通过第一个异或门后,再给它加上符号位。这样正数均不变,而负数则满足了加1的条件。
由此,根据以上原理,我们便可实现这样一个4位二进制数的补码器电路: