原码、补码、反码

首先,计算机中只有加法器,没有减法器,所有的减去某个数,都是通过加上某个特定的数来实现的。
具体的实现原理可以从日常生活中窥知:向左转90度与向右转270度是相同的。这是因为,这两个数存在下面的关系:90+270 = 360。即二者的和刚好是360的整数倍。在这里,如果把270定义为原数,90定义为补数,那么360就是它们的模。如果我们把向左转定义为“正”,向右转定义为“负”,那么我们可以通过加法(+270)来实现减法(-90)了。
在计算机中,补码的定义也是为了方便运算:

当一个数为正数时,它的补码就是它本身;而当为负数时,它的补码(8位)为2^8减去它的绝对值。这样的话,不论是加法还是减法运算,都是把它们的补码相加即可。举2个例子.:

15+7 = 22:
00001111
00000111
00010110
15-7 = 8:
00001111
11111001
00001000

注意,-7的补码为:
100000000
-00000111
 11111001
但是,别忘了计算机是不能计算减法的,有没有别的办法求出补码呢?
我们可以先观察一下数字的2进制的表达式的规律:

十进制 绝对值的二进制 补码    
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值