问题标签 [double-precision]

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 投票
2 回答
363 浏览

c# - 放大时的双精度问题

我有这个算法可以计算点 (x0,y0) 的 mandelbrot 值(我认为 x0 和 y0 介于 -1 和 1 之间,不是很重要)。scale当不是太大时,这一切都很顺利,但是在较高的值时scale,返回的值非常不准确,我的图形输出开始变得怪异。我如何预测scale会发生什么价值?

0 投票
1 回答
1657 浏览

arm - GCC 使用 ARM VFP 指令操作的正确内联汇编约束是什么?

我想使用 Google NDKv8b 附带的工具链 (gcc-4.6) 将双精度寄存器 (d8) 的值加载到 ARM 平台上的 C 变量中。我的 ARM 机器是三星 Galaxy S2(它有 VFPv3 和 NEON)。GCC 文档说,为了在内联汇编中使用 VFP 双精度寄存器,必须使用“w”约束。所以我尝试了这样的事情(好吧,不要过多地研究整个程序的逻辑):

好吧,它甚至没有编译:

我怎样才能做到这一点?

谢谢!

0 投票
1 回答
1377 浏览

numerical-methods - 二分法失去精度

我已经有一段时间没有出现在这个非常好的论坛上了。我正在学习数值分析课程,我被要求编写二分法,这是我的代码

我唯一的问题是,当x = 0.354492时找到了根,而真正的根在x=1/3中,所以实际上我的双精度或容差不好。我不知道如何改进此代码以获得更好的结果。任何想法?

0 投票
1 回答
3411 浏览

c++ - stringstream setprecision 和浮点格式

我想知道 std::stringstream/precision 如何格式化浮点数。似乎如果精度参数优于16非小数位数的负数,这会导致表格格式"2369.000133698999900"而不是“好”"2369.00013369900"

即使我没有告诉它对(如作为参数传递给函数)进行四舍五入,如何std::stringstream知道它8999900必须恢复为一个?但不要为高于 12 的参数执行此操作9812setprecision

0 投票
4 回答
2076 浏览

c++ - 将 2^31 分配给浮点数或双精度数

我必须将一个整数值乘以 2^31。我用谷歌搜索了它,看起来双打的范围在 2.23e-308 <= |X| 之间 <= 1.79e308 使用 64 位,浮点数介于 1.18e-38 <= |X| <= 3.40e38。

这比我需要的要多得多。但它不起作用。

我的头文件中有这个常量值:

如果那时我只是这样做:

那么,dummy 的值为 11。

我不知道问题是否在于分配这样的常量值,但我不知道如何在不丢失精度的情况下编写它。

有什么帮助吗?

编辑:对不起,愚蠢的问题。我的 MatLab 背景背叛了我,忘记了 ^ 不适用于 C++ 中的求幂。我已经投票关闭。

0 投票
2 回答
1155 浏览

c++ - 在有限差分法中使用的最佳 epsilon/dx 值是多少?

使用有限差分法进行推导时,选择最佳dx值至关重要。在数学上,dx必须尽可能小。但是,我不确定选择最小的正双精度数(即 2.2250738585072014 x 10 -308)是否是正确的选择。

是否有最佳数值区间或精确值可供选择dx以使计算误差尽可能小?

(我使用的是 64 位编译器。我将在 Intel i5 处理器上运行我的程序。)

0 投票
0 回答
538 浏览

gdb - gdb 中的四边形

我正在使用 gdb 进行调试,发现四倍精度数字显示不正确。我正在测试的代码是:

(注意 extern 以解决 libquadmath 错误。)

我编译: g++ aC -g -lquadmath

然后我得到:

这似乎是一个 gdb 错误,因为最终结果似乎还可以。我的问题只是这是否应该工作?gdb 是否支持四边形?在这些情况下,我是否需要做一些特别的事情才能让 gdb 工作?

该程序的重​​点是演示灾难性取消,并且使用 sinh 提供所需的(双精度)精度,而无需四元算术:

谢谢!

PS:无法使用四倍精度进行标记,我没有足够的声誉来创建新标签。

0 投票
3 回答
2894 浏览

java - Java - 一次双加/减法中的最大精度损失

在java中处理两个double值(加/减)时,是否可以粗略地确定最大精度损失是多少?最坏的情况可能是两个数字不能准确表示,然后对它们执行操作,这导致一个值也不能准确表示。

0 投票
3 回答
1958 浏览

java - 将双精度数字放入数组中,然后从低到高排序并显示数字

在第 24 行,我收到一个被注释掉的错误。是什么原因造成的,我该如何解决?

任何帮助深表感谢。提前谢谢。:)

0 投票
3 回答
6256 浏览

java - 使用 DecimalFormat 格式化 Double 以在没有科学计数法的情况下打印

我一直在从传感器读数中读取时间戳值,但由于它们以纳秒为单位提供,我想我会将它们转换为双倍并进行转换。结果数字是一个 17 位的值,加上分隔符。

尝试直接打印它会导致科学记数法,这是我不想要的,因此我使用 DecimalFormat 类将其输出到小数点后 4 位的预期值。问题是,即使调试器显示了 17 位十进制数字,即使在“doubleValue()”调用之后,输出字符串也显示了 15 位数字。

代码:

我认为这可能是一个 android 精度问题,但调试器的格式化程序也显示了错误的精度。我已经在本地 java 程序中对此进行了测试,两个调用的位数相同。

这是 DecimalFormat 错误/限制吗?还是我做错了什么?