在小数定点机中,为什么只有补码可以表示-1.0呢

这个问题可以拓展,在8位整数机器中,为什么只有补码可以表示-128呢?

这里先看小数定点机,8位小数定点机中的数据表示: 

S.XXXXXXX

S是正负符号位,后面的7个X是数值位。

如下都以8位二进制的小数定点机为例展开

原码:  实例1,二进制的0.1010000 = +( 1/2 + 1/8) =0.625

            实例2,二进制的1.1010000  = -( 1/2 + 1/8) =-0.625

同上,结合上例8位小数定点机数据格式:S.XXXXXXX

根据原码的含义,1.0以至于-1.0都超出了小数定点机的表示能力。由于原码表示不了1.0以至于-1.0,所以,反码也表示不了1.0和-1.0。那么按道理,补码应该也表示不了-1.0吧?

其实是可以的,不单可以表示-1.0,而且根据从原码到补码的计算规则的逆规则,补码必须能够表示-1.0

原因如下图:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值