You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为什么二进制数10000101可以同时表示-5和133两个数值?

二进制串多值的核心原因

同一个二进制串对应的十进制数值不是固定的,完全取决于你采用的整数解析规则,8位二进制串10000101的两个结果对应两种完全不同的解析规则:

  • 无符号8位整数解析:所有二进制位都用来计算数值,没有单独的符号位
    计算过程:1*2^7 + 0*2^6 + 0*2^5 + 0*2^4 + 0*2^3 + 1*2^2 + 0*2^1 + 1*2^0 = 128 + 4 + 1 = 133
  • 有符号8位原码解析:最高位单独作为符号位,0代表正数,1代表负数,剩余7位表示数值的绝对值
    解析过程:最高位为1代表负数,剩余7位0000101对应的十进制值为5,因此整体为-5

补充说明

我们日常说的二进制转十进制默认是无符号规则,而计算机存储有符号整数时还会用到补码等其他规则,不同规则下同一个二进制串的解析结果天然存在差异,不存在对错,只是适用场景不同。

内容的提问来源于stack exchange,提问作者David

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 00:09:00