logsim与二进制数原码-反码和补码的数字电路

一、logsim的介绍

"Logsim" 是一个常见的缩写,通常用来指代“逻辑电路模拟器”(Logical Circuit Simulator)。逻辑电路模拟器是一种计算机程序,用于模拟和分析数字逻辑电路的行为。这些电路可以包括各种逻辑门、触发器、计数器、多路复用器、解译器等数字电子元件。

二、补码的运算以及半加器与全加器

(一)补码的运算法则:

1.判断符号:原码、反码、补码三种计算机中的符号数表达方式均又符号位和数值位两部分组成,符号位是第一位且“0”表示正,“1”表示负。

2.数值位的变换:计算补码时,若符号位是0(正)补码数值位与原码相同,若符号位是1(负)补码数值位与原码相反(即数值位求反码,0变为1,1变为0),且求反之后在末尾加1。

例:①求0110101的补码,即为本身0110101。 ②求1001001的补码,先求反为1110110,再在末尾加1,结果为1110111。

(二)半加器的原理以及数字电路

1.原理分析:

用一位半加器电路举例,一位半加器电路可以简称为1bit 半加器电路,其作用是用于执行二进制的进位计算。其是利用了一个异或门和一个与门组成。将两个输入位(A、B)相加,并且产生两个输出:和(S)和进位(C)。

(1)A ⊕ B = S,即和(S)是输入(A、B)异或运算的结果,公式中的“⊕”表示异或(即两个输入真值相同输出0,两个真值不同输出1)。

(2)A · B = C,即进位(C)是输入(A、B)相与运算的结果,公式中的“ · ”表示与运算(即两个输入中只有全部为1的情况下才输出1)。

(3)若输入全为0,按二进制计算法则的结果为0,同时通过异或门得到的和(S)的结果为0,通过与门得到的进位(C)的结果为0。若输入为1和0,按二进制计算法则的结果为1,同时通过异或门得到的和(S)结果为1,通过与门得到的进位(C)结果为0。若输入全为1,按二进制计算法则的结果为10,同时通过异或门得到的和(S)的结果为0,通过与门得到的进位(C)的结果为1。即半加器电路运算结果符合二进制计算法则。 

1位半加器的真值表如下:

2.半加器电路具体实现如下:

(三)全加器的原理以及数字电路

1.原理分析:

用一位全加器电路举例,同样一位全加器电路可以简称为1bit 全加器电路,其作用是用于执行二进制的进位计算。全加器与半加器不同之处是全加器可以处理来自上一位满2时的产生的进位。全加器有三个输入分别为输入A、输入B、前一位进位C_in,输出为和S和进位输出C_out。全加器中包含了两个异或门、两个与门和一个或门。

(1)设A ⊕ B的结果为S1,S1的结果与进位输入(C_in)异或得到和S即为(A ⊕ B) ⊕ C_in = S,即和(S)是输入A与输入B异或后的结果S1再与上一位得到的进位异或后的结果。

(2)进位输出(C_out)由输入A与输入B的运算结果和输入A和输入B的异或运算结果再与C_in的运算结果,再通过两部分与运算得出。即进位输出(C_out)=(A · B)+ (A ⊕ B)· C_in。

(3)即为当进位输入为0时:

  • 若输入全为0时,通过二进制运算法则得到的结果和(S)为0,同时通过全加器得到的和(S)的结果为0,进位输出(C_out)的结果为0。
  • 若输入为1和0时,通过二进制运算法则得到的结果和(S)为1,同时通过全加器得到的和(S)的结果为1,进位输出(C_out)的结果为0。
  • 若输入全为1时,通过二进制运算法则得到的结果和(S)为0,进位1,同时通过全加器得到的和(S)的结果为1,进位输出(C_out)的结果为1。

(4)即为当进位输入为1时

  • 若输入全为0时,通过二进制运算法则得到的结果和(S)为1,同时通过全加器得到的和(S)的结果为1,进位输出(C_out)的结果为0(和为1是因为上一位进位1与当前位运算得到的0相加,和结果为1)。
  • 若输入为1和0时,通过通过二进制运算法则得到的结果和(S)为0,进位1,同时通过全加器得到的和(S)的结果为0,进位输出(C_out)的结果为1(和为0是因为上一位进位1与当前位运算得到的1相加,和结果为0且进位1,故C_out = 1)。
  • 若输入全为1时,通过二进制运算法则得到的结果和(S)为1,进位1,同时通过全加器得到的和(S)的结果为1,进位输出(C_out)的结果为1。(和为1是因为两个输入相加得到和为0,且进位1,和为1与上一位进位1相加故最终和为1,且本位进位输出C_out = 1)。

1位全加器的真值表如下:

2.全加器电路具体实现如下:

三、实现一个4位二进制数的补码器电路

要求:当输入一个4位二进制数后,补码电路将输出对应的4位二进制补码。

(一)补码原理:

  1. 正数原码的补码与本身相同。
  2. 负码的补码,将其处符号位的所有位取反码(即数值位的0变为1,1变为0,符号位为1不变。)然后在反码的基础上加1。

正是因为正数原码与负数原码的补码形式不同所有在全加器的基础上做了一下改变得到了4位补码器电路

(二)4位补码器的电路图以及原理解释。

1、有上角为位宽为4的输入,利用分线器将每一位分离出来,3号线为符号码。1-2号线分别与3号线的符号位进行异或运算达到以下效果:

  • 符号位为1,若1-2号线输入的数字也为1,,那么根据异或门的性质可得1-2号线分别与3号线异或的结果为0,若1-2号线输入的数字为0,那么1-2号线与3号线异或的结果就为1。
  • 符号位为0,若1-2号线输入的数字为1,那么根据异或门的性质可得1-2号线分别与3号线异或的结果为1,若1-2号线输入的数字为0,那么1-2号线与3号线异或的结果就位0。

2、左上角为符号位为1时需要在原码求反基础上再加1的输入1的输入端,利用分线器将1引至第一个全加器(最低位运算的全加器)的输入口之一达到若是反码求补码则将1加到最低位的效果。且利用一个与门和符号位进行判定若符号位为1则与门两端输入为1,则将与门输出的1加至最低位。若符号位为0则与门输出为0,即最低位不加。

3、下方为4个封装的全加器电路,最右端为最低位全加器,最左端为最高位全加器。最低位全加器的进位输入为0,即单独输入0到进位输入端。以下对最低位全加器分类讨论:

  • 最低位全加器输入端A已在上方的异或门求反(即符号位为1):输入端A为原码最右端数字的求反结果,输入端B为判定符号位为1后需加在最低位的1。进位输入为0,和(S)直接连接至最后最终输出的第一位,若有进位输出则连至下一位全加器的进位输入端,依次类推至所有全加器。
  • 最低位全加器输入端A未在上方的异或门求反(即符号位为0):输入输入端A为原码最右端数字的原码,输入端B输入0(由于符号位为0即最低位不加1),进位端任然输入0.和(S)直接连接至最后最终输出的第一位,若有进位输出则连至下一位全加器的进位输入端,依次类推至所有全加器。

4、按以上步骤进行,每个全加器得到的和(S)均输出到相应位置则求得最终的补码。

定义参考文献:百度百科

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值