问题标签 [long-double]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - 无法在 C 中正确打印长双精度
我正在尝试打印一个简单的 long double,但它不起作用
我尝试了什么:
输出:
具有新值:
输出:
c++ - 为什么我的 C++ 程序从 long double 切换到 float128 时会这么慢?
我在 Unix 上编程,使用 g++ 4.8.2 编译器。我目前需要将此时使用的 C++ 程序long double
(在我的情况下有效位为 64 位)转换为使用该__float128
类型的程序(有效位为 113 位)。我使用libquadmath0
包和 boost 库来做到这一点,但生成的程序比 with 慢 10~20 倍long double
。
double
这很令人困惑,因为有效数字的大小并没有高很多,而且我在从 切换到时没有观察到这种差异long double
。这种时间差异是否正常,如果不是,我该如何解决?
编码:
编译说明:
c++ - c++中double和long double的区别
有人能解释一下双打和长双打之间的区别,除了对我来说精度的不同吗?我编写了一个程序来解决引力 n 体问题,所以我基本上整合了二阶微分方程,并且我的程序使用双精度数可以正常工作。然而,当我用长双精度替换我使用的所有双精度时,所有计算似乎都会产生无意义的结果。有人可以解释这个原因吗?
与每个人似乎认为的相反,我在长双线和双线上找不到我正在寻找的遮阳篷。
c++ - Cout 长双期
所以,我正在做一个 C++ 项目。我有一个 long double 类型的 var,并为其分配了一个类似“1.02”的值
然后,我尝试使用 cout 打印它,结果是:-0
我已经尝试过使用 setprecision,我发现所有的问题都是在谷歌上搜索的。
解决方案是什么?
示例代码:
操作系统:Windows 8.1 64 位编译器:minGW IDE:NetBeans 8.0.2
c++ - 如何在 C++ 中使用更高的精度
嗨,我已经建立了一个算法来计算 pi,但我使用了 long float,所以我只得到 3.14159,我需要更高的精度。如何?这是代码:
顺便说一句,我高中有一台24核(12个双核节点)的超级计算机,以防万一
perl - 如何在 Perl 中强制 long double
在进行算术运算或尝试打印(调试)这么大的数字时,我会失去精度:1234567890.123456789
我认为我的问题在于 $d(算术结果)和 $e 的格式化打印。我怎样才能强制长双打?我的 Perl 版本(SUN 上的 5.8.4)说这是可能的。sprintf 有一个长双精度的大小选项(q 或 L 或 ll),但我还没有弄清楚如何使用它,也不知道它是否适用于 printf。
编辑:我添加了 BigFloat,它有效!但我仍然想强制长双打。
尝试添加 1234567890 + 0.123456789 并减去 1234567890 - 0.123456789。
我还使用此代码来尝试理解类型,但没有太大帮助。有没有人用它来解释这样的问题?
c - 如何从科学记数法中解析长双精度数
我有一个文本文件,其中的科学计数法数字存储为一串字符,其中一些字符最多为20
数字。例如,2.3456789e-015
。我需要将其转换为 long double 以便对其执行一些数学运算。
我怎样才能做到这一点?
我知道我可以像这样声明一个long double,但是当我将数字作为字符串并且需要分别指定基数和指数时,麻烦就来了。该pow()
函数仅适用于双打,cpowl()
无法格式化为printf
. 保持精度很重要!!
c++ - GCC:限制长双宽
使用 GCC 编译时,有没有办法/开关将 long double 的大小限制为 64 位?
c++ - 在 C++ 中使用 strtol 获得 long double
我试图从数组中取出长双精度数。
出于某种原因,我得到的数字四舍五入到 502522545.6 我对 C++ 很陌生,所以我做错了什么吗?需要做什么才能获得 num 中的整个数字而不是四舍五入?
感谢您的帮助 !!!
抱歉,这是我在这里的第一篇文章 =)
所以整个程序代码如下:
想法是输入的数字采用以下格式($50,555,355.67)或任何其他数字。然后程序会删除除数字和“。”之外的所有符号。然后我试图从数组中取出 long double num 。如果你运行程序,你总是会从 num 中得到四舍五入的数字。