gpt4 book ai didi

c - float 转换 - 二进制 -> 十进制

转载 作者:太空宇宙 更新时间:2023-11-04 01:25:37 26 4
gpt4 key购买 nike

这是我正在处理的数字

1 01110 001 = ____
1个符号位,5个exp位,3个小数位
偏差 = 15

这是我目前的流程,希望你能告诉我哪里遗漏了什么

  1. 将二进制指数转换为十进制
    01110 = 14
  2. 减去偏见
    14 - 15 = -1
  3. 将小数位乘以结果
    0.001 * 2^-1 = 0.0001
  4. 转换为十进制
    .0001 = 1/16

符号位是 1,所以我的结果是 -1/16,但给出的答案是 -9/16。有人介意解释一下分数中多余的 8 是从哪里来的吗?

最佳答案

您似乎有正确的概念,包括对 excess-N 表示的理解,但您错过了一个关键点。

用于对幅度的小数部分进行编码的 3 位是 001,但是在小数位之前有一个隐含的 1.,所以完整的幅度实际上是1.001,可以表示为假分数 1+1/8 => 9/8

2^(-1)1/(2^1)1/2 相同。

9/8 * 1/2 = 9/16。考虑到符号位,您得到答案 -9/16

关于c - float 转换 - 二进制 -> 十进制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31550006/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com