首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >128、64和32位IEEE-754浮点数之间的关系

128、64和32位IEEE-754浮点数之间的关系
EN

Stack Overflow用户
提问于 2018-05-30 06:43:18
回答 1查看 439关注 0票数 0

我想熟悉和熟悉浮点数。我正在做一个项目,希望能通过在C++中创建动态分配的、任意大小的浮点数来帮助我实现这一点。我查阅了IEEE-754规范中的标准浮点定义,但我找不到它们之间的共同关系(我使用了维基百科中关于3264128位浮点数的参考资料)。所以我的问题是:在浮点数之间有没有一种通用的模式,可以应用于任意大小的浮点数?

如果没有,从编程的角度来看,定义我自己的具有模式的浮点表示会更容易吗?

编辑:我所说的模式是指尾数和指数中的位。

EN

回答 1

Stack Overflow用户

发布于 2018-05-31 05:56:16

IEEE-754二进制类型指定指数位宽度,如下所示。

代码语言:javascript
复制
FP bit size  Expo bit size
16           5
32           8
64           11
128          15
256          19

类型的其余部分使用1符号位和signifcand。

根据this good answer @Netch,对于32及以上的倍数,指数位宽度为round(4 * log2 (k)) – 13

“浮点数之间是否存在可应用于任意大小的浮点数的通用模式?”的empirical answer。可以使用下面的代码来保持与现有IEEE-754标准的相关性,并将其扩展到其他位大小的fp_size >= 8 (如果您想推动它,则扩展到>= 6 )。

代码语言:javascript
复制
int expo_width(int fp_size) {
  return lrint(fp_size >= 32 ? 4*log2(fp_size)-13, 3*log2(fp_size)-7);
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50594009

复制
相关文章

相似问题

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