Logisim实现一个二进制补码器电路

1、1bit半加器电路

1.1 半加器的工作原理

半加器是一种执行二进制数相加的数字电路。所谓“半加”,就是只求本位的和,暂不管低位送来的进位数,即只有只有加数和被加数相加。它是最简单的数字加法器,您只需使用两个逻辑门即可构建一个;一个异或门和一个 AND 门。

1.2半加器的设计

1.2.1逻辑真值表

输入输入输出输出
ABCS
0000
0101
1001
1110

1.2.2 逻辑电路图

在这里插入图片描述

2、1bit全加器电路

2.1 全加器的工作原理

全加器是用门电路实现两个二进制数相加并求出和的组合线路,称为一位全加器。一位全加器可以处理低位进位,并输出本位加法进位。多个一位全加器进行级联可以得到多位全加器。所谓“全加”就是当两个多位二进制数相加时,除了最低位以外,第二位以上的相加需要考虑低位的进位,即将两个待加数以及一个来自前面低位送来的进位数这三个数相加,得出本位和及进位数。

2.2 全加器的设计

2.2.1逻辑真值表

ABCCOS
00000
00101
01001
01110
10001
10110
11010
11111

A、B:加数 C:低位的进位 S:本位和输出 CO:相邻高位的进位

2.2.2逻辑电路图

在这里插入图片描述

3、半加器与全加器的区别

半加器实现两个1位二进制数相加时,不考虑低位的进位,输入变量只有两个:加数和被加数;

全加器实现两个1位二进制数相加时,考虑低位的进位,输入变量有三个:加数、被加数和低位的进位;

4、4位二进制补码器电路

4.1二进制补码原理

补码原理如下:

(1)正数与原码相同;

(2) 负数的补码,将其原码除符号位外的所有位取反(0变1,1变0,符号位为1不变)后加1。 同一个数字在不同的补码表示形式中是不同的。比如10进制数值-15的二进制原码是10001111,其补码在8位二进制中是11110001,然而在16位二进制补码表示中,不足位数要用符号位补全,也就是1111111111110001。

4.2负数补码器电路

4.2.1负数补码计算

符号位为1,数值部分“各位取反,末位加1”。即对负数而言,可以先其原码除符号位外的所有位取反(0变1,1变0,符号位为1不变),得到反码,这里可以用到一个非门;然后“末位加1”需用到一个半加器,得到补码。例如:

原码反码补码
101011011110
100111101111
110010111100

4.2.2 电路图

在这里插入图片描述

验证其他原码数得到的补码与表格一致

4.3 通用补码器电路(输入既有正数又有负数)

4.3.1 原理分析

当输入既有正数又有负数时,上述的负数补码器电路是不能适用的。

求一个数的补码:对于正数,符号位取0,其余同真值中相应各位;对负数,符号位取1,其余各位由数值部分“各位取反,末位加1”得到。即第一步应考虑数值部分是否取反,此处可运用异或门,若符号位为0(正数),数值部分的各位与符号位作为异或门的两个输入信号,输出信号与数值部分的各位相同;若符号位为1(负数),输出信号与数值部分的各位相反,因此第一步考虑完毕。第二步应考虑末位是否加1,若符号位为0,末位就不加1(相当于末位加上符号位的0);若符号位为1,末位加1(相当于末位加上符号位的1),此处用到一个半加器。

4.3.2 表格分析

原码101010011100000101010111
补码111011111110000101010111

4.3.3 电路图

正数:
在这里插入图片描述

负数:

在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值