数字电子技术基础(二):原码、反码、补码

一、原理和计算

1、原码

在数字电路中,我们用逻辑电路输出的高低电平表示二进制码1、0,我们有时候需要对正数和负数进行操作,但是在二进制逻辑电路中只有0和1,并没有负号,所以我们在数值的最高位添0表示正数,添1表示负数,这样的数就叫原码。

2、反码

当原码为正数时,它的反码是自己本身

当原码为负数时,它的反码是原码的各位取反

3、补码

下面截取《数字电子技术基础(阎石)》中的一个例子来说明补码
在这里插入图片描述
所以当我们要减去一个正数时,其实是加上一个负数,加法和减法最终都可以写成加法,所以采用补码相加。

当原码为正数时,它的补码是自己本身
当原码为负数时,它的补码为反码加1

综上:
当原码为正数时,它的反码和补码都是自己本身
当原码为负数时,它的反码是原码的各位取反,补码是反码加1

二、作用

在计算机系统中,有符号数的运算都是使用补码。

在进行带符号数加减乘除运算时,如果直接用原码进行计算,那我们需要比较符号位和除符号位以外的绝对值。
在做减法运算时,我们要先比较两个数绝对值大小,用大的减去小的,在用大的符号位作为结果的符号位,可以看出,这样设计很麻烦,要使用比较电路和选择电路以及减法电路。

所以选择补码的方式可以节约资源和降低运算复杂度

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值