数字电路之原码、补码、反码的来由

众所周知,在数字电路中人们用二进制数来表示数值的大小,然而数有正负之分!如何区别二进制数的正负呢?
为了解决这个问题,科学家们想到在二进制数的前面在再加上一位符号位,以此来区别二进制数的正负。1–代表负数,0–代表正数。然后又称这种带有符号位的二进制数称为原码。即原码=符号位+二进制数值

然而引入原码确实可以区分二进制数的正负,但也带来了一个新的问题,如两个数相减最终结果的符号位是1(负)呢还是0(正)呢?
我们需要找出这两个数中的绝对值大的数,然后用绝对值大的减去绝对值小的数,结果再加上绝对值大的数的符号位。因此若用原码进行加减操作需要比较电路与减法电路两种电路,较麻烦!如何简化电路呢?
为了解决用原码直接进行加减的引起电路复杂的弊端,我们引入了补码(在计算机中带符号位的数值都是以补码的形式存贮在内存中的)!
用补码的方式表示二进制数值大小好处是加减可以直接得到符号位。无需比较电路。
而一个数的补码如何得到呢?
为了方便得到一个数的补码我们引入了反码!(在电路中取反是很容易实现的。)
补码=反码+1
而反码=原码除符号位其余位的按位取反
注意!一个数(无论正负)的原码、补码、反码的符号位都是相同的,不改变!!!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值