问题标签 [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.
c++ - 用小数字代替零?
我一直在做一个矩阵类(作为一个学习练习),我在测试我的反函数时遇到了问题。
我这样输入一个任意矩阵:
并得到它来计算逆,我得到了正确的结果:
但是当我尝试将两者相乘以确保得到单位矩阵时,我得到:
为什么我会得到这些结果?我会理解如果我将奇怪的数字相乘,我可以理解一些舍入错误,但它所做的总和是:
这显然是 0,而不是 5.111512e-017
如果我手动让它进行计算;例如:
我按预期得到0?
所有数字都表示为双精度数。这是我的乘法重载:
和访问功能:
下面是求逆函数:
java - java中双精度乘法的准确性?
java中双值乘法运算符的保证精度是多少?
例如,2.2 * 100 是 220.00000000000003,但 220 是双精度数。220.000000000000003 是 220 之后的下一个双倍。
javascript - 在Javascript中以非指数/短形式转换/表达双数
我在 Javascript 中有一个 double,其值为例如 1.0883076389305e-311。我想用以下形式表达它,例如使用“bc”实用程序来计算扩展/更高精度/比例形式:
我需要一个 Javascript bigint 库或代码来生成与数字的扩展/更高精度形式的字符串相同的输出。
谢谢!
c++ - C++ 从二进制文件写入和读取双精度
我想为占用太多 RAM 的程序执行磁盘 I/O 操作。我使用双精度矩阵并认为将它们作为字节写入磁盘是最快的方法(我需要保留双精度)。
如何做到便携?
我找到了这段代码(here),但作者说它不是可移植的......
c++ - C++ 双精度和四舍五入
我有以下问题:
double a = 6.005; double b = 5.995;
例如,我想在点后设置双精度 2 位数
double c = a+b;// I would like to get 11.99 not 12.00
.
我怎样才能做到这一点?
floating-point - 表示中的浮点错误?
当我做这个乘法
0.94 * 8700
输出是
8177.999999999999
但它应该是
8178
我正在使用 java ,但我认为这个错误与特定的编程语言无关,现在我的问题是......为什么会发生这种情况?
还有哪些其他数字(仅作为示例)会导致相同的错误?
c++ - 输出精度高于双精度
我正在打印来自 C++ 程序的一些数据,以由 ParaView 处理/可视化,但我遇到了浮点数问题。Paraview 支持 Float32 和 Float64 数据类型。Float64 相当于 double ,典型限制为 +/-1.7e +/- 308。但是,我的代码正在打印 6.5e-318 之类的数字。这会在读取数据时在 ParaView 中引发错误。我已经验证将这些小数四舍五入为零会使 ParaView 中的错误消失。我不确定为什么我有这样的“高精度”输出,可能是因为某些数字的存储精度比双精度高。例如,以下代码在我的系统上重现了相同的行为:
我的输出是:
我的系统是 Mac OS X Snow Leopard,我用 GCC 4.2和GCC 4.6 测试了上面的 flags-m32
和(不确定这是否有用)。-m64
-ffloat-store
实际上对我来说输出很好,但对 ParaView 来说不是。我只是想知道为什么我有这种差异。我很可能会忽略与浮点数相关的一些可能很重要的东西。您能否给我一些关于双打的输出/数值行为的线索?
c++ - 由于浮点数和双精度数有限而导致的错误
在 C++ 中,由于 float 和 double 的精度有限,我使用以下代码计算出误差的数量级:
(在双重情况下,我所做的只是在第 1 行和第 2 行用 double 交换浮点数)
现在,当我在 Unix 系统上使用 g++ 编译和运行它时,结果是
但是,当我在 Windows 7 上使用 MinGW 编译和运行它时,结果是
这是什么原因?
c++ - 精度 long double 比 double 差
当我使用时,long double
我得到的精度比使用double
.
3.14159265358979323846264L
这long double const
在源代码中编写好还是我应该添加其他内容L
?
编辑我解决了这个问题。我将算法更改为更精确。