-1的补码,右移一位。为什么变成全0?

-1是定点整数,按照惯例,-1的补码应该是11111111(8个1),[1/2 x]补就是补码右移一位。

按照移位规则:右移时,符号位不变,数值部分右移,最高位移出的空位填补上符号位的数字

那就应该是11111111,原样啊,为什么答案是00000000(8个0),还说是(溢出)机器零?

问了老师,加上我的理解:-1当成是整型,-1/2 = -0.5,右移的时候机器会把-0.5归零取整(包括符号位)。

死记硬背吧

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值