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

如何计算补码、反码表示的负浮点数的十进制数值

补码与反码负浮点数转十进制方法

以下以示例数 101.1011 为例,分别演示两种编码的转换步骤:

一、补码(Two's Complement)转十进制

已知补码 101.1011,转换结果为 -2.3125,步骤如下:

  • 识别符号位:最高位为 1,表示这是一个负数
  • 补码转反码:对整个补码减 1(仅需对最低位操作):101.1011 - 0.0001 = 101.1010
  • 反码转原码:保持符号位不变,对数值部分(整数+小数位)逐位取反:
    数值部分 01.1010 取反后为 10.0101,因此原码为 110.0101
  • 计算原码数值的十进制值:
    10.0101 = 2^1 + 2^-2 + 2^-4 = 2 + 0.25 + 0.0625 = 2.3125
  • 添加符号,最终结果:-2.3125

二、反码(One's Complement)转十进制

已知反码 101.1011,转换结果为 -2.25,步骤如下:

  • 识别符号位:最高位为 1,表示这是一个负数
  • 反码转原码:保持符号位不变,对数值部分逐位取反:
    数值部分 01.1011 取反后为 10.0100,因此原码为 110.0100
  • 计算原码数值的十进制值:
    10.0100 = 2^1 + 2^-2 = 2 + 0.25 = 2.25
  • 添加符号,最终结果:-2.25

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 08:25:14