问题标签 [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.

0 投票
1 回答
6841 浏览

c - 无法在 C 中正确打印长双精度

我正在尝试打印一个简单的 long double,但它不起作用

我尝试了什么:

输出:

具有新值:

输出:

0 投票
1 回答
605 浏览

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。这种时间差异是否正常,如果不是,我该如何解决?

编码:

编译说明:

0 投票
2 回答
4274 浏览

c++ - 如何将字符串转换为长双精度数?

首先,我彻底检查了有关该问题的其他问题,但没有任何帮助。我需要将字符串转换为 long double 类型,但对我没有任何作用。

例如:此“strtold”将此输入更改为此输出

0 投票
1 回答
1524 浏览

c++ - c++中double和long double的区别

有人能解释一下双打和长双打之间的区别,除了对我来说精度的不同吗?我编写了一个程序来解决引力 n 体问题,所以我基本上整合了二阶微分方程,并且我的程序使用双精度数可以正常工作。然而,当我用长双精度替换我使用的所有双精度时,所有计算似乎都会产生无意义的结果。有人可以解释这个原因吗?

与每个人似乎认为的相反,我在长双线和双线上找不到我正在寻找的遮阳篷。

0 投票
4 回答
8491 浏览

c++ - Cout 长双期

所以,我正在做一个 C++ 项目。我有一个 long double 类型的 var,并为其分配了一个类似“1.02”的值

然后,我尝试使用 cout 打印它,结果是:-0

我已经尝试过使用 setprecision,我发现所有的问题都是在谷歌上搜索的。

解决方案是什么?

示例代码:

操作系统:Windows 8.1 64 位编译器:minGW IDE:NetBeans 8.0.2

0 投票
3 回答
3271 浏览

c++ - 如何在 C++ 中使用更高的精度

嗨,我已经建立了一个算法来计算 pi,但我使用了 long float,所以我只得到 3.14159,我需要更高的精度。如何?这是代码:

顺便说一句,我高中有一台24核(12个双核节点)的超级计算机,以防万一

0 投票
2 回答
1582 浏览

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。

我还使用此代码来尝试理解类型,但没有太大帮助。有没有人用它来解释这样的问题?

0 投票
3 回答
1134 浏览

c - 如何从科学记数法中解析长双精度数

我有一个文本文件,其中的科学计数法数字存储为一串字符,其中一些字符最多为20数字。例如,2.3456789e-015。我需要将其转换为 long double 以便对其执行一些数学运算。

我怎样才能做到这一点?

我知道我可以像这样声明一个long double,但是当我将数字作为字符串并且需要分别指定基数和指数时,麻烦就来了。该pow()函数仅适用于双打cpowl()无法格式化为printf. 保持精度很重要!!

0 投票
2 回答
154 浏览

c++ - GCC:限制长双宽

使用 GCC 编译时,有没有办法/开关将 long double 的大小限制为 64 位?

0 投票
3 回答
252 浏览

c++ - 在 C++ 中使用 strtol 获得 long double

我试图从数组中取出长双精度数。

出于某种原因,我得到的数字四舍五入到 502522545.6 我对 C++ 很陌生,所以我做错了什么吗?需要做什么才能获得 num 中的整个数字而不是四舍五入?

感谢您的帮助 !!!

抱歉,这是我在这里的第一篇文章 =)

所以整个程序代码如下:

想法是输入的数字采用以下格式($50,555,355.67)或任何其他数字。然后程序会删除除数字和“。”之外的所有符号。然后我试图从数组中取出 long double num 。如果你运行程序,你总是会从 num 中得到四舍五入的数字。