发布
社区首页 >问答首页 >双IEEE 754替代方案

双IEEE 754替代方案
EN

Stack Overflow用户
提问于 2012-02-24 01:57:34
回答 4查看 2.7K关注 0票数 7

根据以下站点:http://en.cppreference.com/w/cpp/language/types

“双精度浮点类型。通常为IEEE-754 64位浮点类型”。

上面写着“通常”。C++ double还可以使用哪些其他可能的格式/标准?哪个编译器使用IEEE格式的替代格式?或者架构?

EN

回答 4

Stack Overflow用户

发布于 2012-02-24 02:15:26

Vaxen、Cray和IBM大型机,仅举几个仍在相当广泛使用的例子。大多数(全部?)其中一些现在也可以做IEEE浮点运算,但有时只能用一个特殊的附加组件。在其他情况下(IBM),IEEE算法可能会带来显着的速度损失。

对于较旧的计算机,大多数大型机(Unisys、控制数据等)使用独特的浮点格式,其中大多数甚至不太像IEEE,更不用说实际上符合了。

票数 6
EN

Stack Overflow用户

发布于 2012-02-24 02:14:05

对于简短的历史课程,您可以查看Intel Floating Point Case Study

英特尔编译器在优化时有一个默认打开的选项,该选项启用所谓的fast-math feature。这使得计算速度更快,但会降低对IEEE标准的严格遵从性。可以强制严格遵守fp-model option的标准。

我相信IEEE的CUDA语言也有一个明显更快的数学库,如果有人愿意放弃严格遵守NVidia标准的话。这不仅使数学运算速度更快,而且特别减少了用于超越函数的寄存器的数量。

是否需要遵从性取决于具体情况。我们遇到过英特尔优化方面的问题,必须启用fp-model strict选项,以确保双精度数学运算的正确结果。

票数 4
EN

Stack Overflow用户

发布于 2012-02-24 02:24:16

似乎现在大多数计算机都使用IEEE-754。但之前似乎已经有了替代方案。像Exced128和packed BCD这样的格式已经被使用过了(http://aplawrence.com/Basics/floatingpoint.html)。维基百科的词条也列出了一些http://en.wikipedia.org/wiki/Floating_point

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

https://stackoverflow.com/questions/9418505

复制
相关文章

相似问题

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