机组0:为什么补码比原码多一个-128清晰解释

刚才看了会儿机组,思考了下这个问题。
这个问题很有趣:首先我们需要注意到,一个数字,比如1000 0001这个数字在计算机里是没有任何意义的。但是如果这个码是原码,那么这个数字是-1,如果这个码是补码,如果这个数字是负数的话,那么就是-(0111 1111)这个数字。如果是正数的话,就是1000 0001。
这件事情告诉我们,一但一个数字被输进去计算机的时候,这个数字本身的我们在外界看待这个数字的属性就被剥夺了,这个时候,我们看一个码的数值的全看它是什么码。这个时候,我们就要紧扣定义!
原码的定义的第一个数字是符号位,所以有1000 0000 和 0000 0000 一个是负0一个是正0的情况。
补码可没有什么第一个是符号位这种概念,补码的正负全靠我们来猜。
case 1:对于补码的1000 0000 来说,如果它是正数,那么原码的绝对值就是1000 0000,为+128
case 2:如果是负数,那么取反加1得到原码的绝对值是1000 0000 ,为

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值