看或不看bug都在那里 2017-07-14 12:22 采纳率: 0%
浏览 916

两个关于二进制的问题

问题1:
图片说明
截图是百度百科“二进制补码”的说明。图中红框中的数据是怎么由上一步得来的?

问题2:
1个字节的数值范围为什么是-128~+127 ? 是为什么不是-127~+127 ?
谢谢!

  • 写回答

1条回答

  • threenewbee 2017-07-15 01:00
    关注
     垃圾百度怎么说的不重要,以我下面说的为准:
    假设是4位二进制整数
    1 + (-1)
    =0001 + 1111
    =(1)0000 (前面假想的1是进位,实际上不存在)
    =0
    
    1个字节表示的范围是00000000~11111111
    00000000~01111111是0~127
    10000000~11111111是-128~-1
    合起来就是-128~127
    
    为什么10000000是-128,因为负数补码是最高位符号位1转化为-号,其余取反以后-1
    所以10000000转换为-(1111111) - 1=-127 - 1=-128
    类似11111111转换为-(0000000) - 1=-0 - 1=-1
    
    评论

报告相同问题?

悬赏问题

  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记