0 c++ floating-point precision
我希望声明一个浮点变量,它可以存储比更常见的双精度和长双精度更高的有效数字,最好是类似八进制(256位),(我相信)可能会给出大约70位有效数字.
我如何声明这样的变量?跨平台兼容性是一个问题(而不是固定宽度整数)?
任何帮助深表感谢.
C++标准要求精度达到并包括在内double; 并且该浮点方案的更精细细节留给实现.
IEEE754四倍精度long double仅为您提供36位有效数字.在编写本文时,我从未遇到过实现八倍精度的系统.
你最好的选择是使用类似GNU多精度算术库的东西,或者,如果你真的想要二进制浮点,那么GNU多精度浮点可靠库.