首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >浮点数的字节表示为整数方程

浮点数的字节表示为整数方程
EN

Stack Overflow用户
提问于 2018-01-12 17:39:24
回答 1查看 1.8K关注 0票数 0

的文章中使用了一个等式,我不明白:

  • I = (e + B) *L+m* L

I是作为整数解释的浮点数的字节表示形式。下面是一个示例:

代码语言:javascript
复制
float x = 3.5f;
unsigned int i = *((unsigned int *)&x);
  • e是浮子的指数。
  • B是偏倚(127)。
  • L是一个常数(1 << 23)。
  • m是尾数。

现在我的问题是:

为什么方程是正确的,我在哪里可以读到更多关于这个方程的内容?

EN

回答 1

Stack Overflow用户

发布于 2018-01-12 18:53:37

如您所知,浮点数存储在IEEE 754标准中。以及单个精确浮点的位模式,如以下所示(请参阅详细信息这里):

该数字的值是根据以下公式计算的:

因此,对于32位值,等效的整数是e * L + m.因为指数是从(第23位)开始的,第一部分是m.假设指数用-127存储,则将表达式转换为(e + B)*L + m

关于L,在m之后,可能有一种假设在本文中可能没有提到。

此外,在这个公式中不考虑sign位。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48231407

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档