首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >比浮动或双倍更精确的数据类型?C++

问比浮动或双倍更精确的数据类型?C++
EN

Stack Overflow用户
提问于 2013-08-10 06:34:05
回答 1查看 6.3K关注 0票数 0

C++的数据类型是否比浮动或双数据更精确,或者我只需要满足于这样一个事实:我的计算将被取消?

编辑:正如李斯特先生所指出的,我的问题是关于精确度。当你把两个浮标/双倍相加在一起时,这个数字比手工计算少了一半,这有点令人沮丧。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-10 07:46:35

在某些编译器中,以及在某些体系结构中,“长双”将提供比双倍更高的精度。如果您在x86平台上,则x87 FPU具有“扩展”80位浮点格式。Gcc和Borland编译器在使用“长双”类型时给出了一个80位浮点数。注意,Visual不支持这一点。 ( MSVC支持的最大精度是双精度,64位)。

有一种叫做"双倍“的软件技术,用于实现四精度128位浮点。您可以找到实现它的库。

您还可以调查任意精度算法的库。

对于某些计算,64位整数比64位浮点值是更好的选择。

但是,如果您的问题是关于当前通用平台上的C++编译器中的内置类型,那么答案是您仅限于双(64位浮点),而在64位平台上则有64位ints。如果您可以坚持使用x86并使用正确的编译器,您也可以拥有长双(80位扩展精度)。

你可能对这个问题感兴趣:

float128

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

https://stackoverflow.com/questions/18159326

复制
相关文章

相似问题

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