问题标签 [floating-accuracy]
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.
php - PHP - 浮点数精度
结果为 0.009999999999998
那是怎么回事?我想知道为什么我的程序一直报告奇怪的结果。
为什么 PHP 不返回预期的 0.01?
floating-point - 浮点显着性损失中的加法与减法
在学习浮点算术精度和避免它的不同方法(使用共轭、泰勒级数等)时,书籍经常提到两个非常相似的数字或一个大数和一个小数的减法是导致错误的最大原因。为什么只有减法会导致这种情况而不是加法?正如我所看到的,您在移位时仍然会丢失同样多的有效位。
c - 是否可以使用 gcc 提高浮点算术的准确性?
一些用 C 语言进行大量浮点计算的程序在 pc linux 机器上得到了正确的结果,但在单元处理器的 SPE 上却得到了错误的结果,但在单元的 PPU 上却没有。我正在使用 gcc 编译器。我想知道是否有一些 gcc 编译选项来增加舍入方法或类似方法,所以我可以得到更精确的单浮点精度计算。我不能改成双倍,因为 SPE 性能会急剧下降
谢谢
c++ - 浮点比较 - 不同运行之间的结果
我知道我无法在 C++/C 上比较两个浮点数或双精度数的绝对相等性。如果出于某种原因,我编写了一个使用绝对相等的 if 条件,是否可以保证 if 条件在程序的不同运行中为相同的数据返回相同的结果?或者它纯粹是不确定的,结果可能会有所不同?
c - 为什么是 1.2 * 30 = 35?
为什么会这样:
返回 35?
c++ - C++ 与 Python 精度
尝试查找 num^num 的前 k 位的问题,我用 C++ 和 Python 编写了相同的程序
C++
Python
输入
输出
我检查了结果,C++ 解决方案是准确的。在 http://www.wolframalpha.com/input/?i=19423474^19423474 检查它
知道如何在 Python 中获得相同的精度吗???
编辑:我知道外部库包以获得这种精度,但任何原生解决方案?
c++ - 关于浮点数的一些问题
我想知道一个数字是否在浮点表示中以一种方式表示,它是否将以相同的方式在具有更大尺寸的表示中表示。也就是说,如果一个数字具有特定的表示 a float
,如果将其转换为 a ,它将具有相同的表示,然后float
转换为 adouble
时仍然相同long double
。
我想知道,因为我正在编写一个 BigInteger 实现,并且传入的任何浮点数都发送到一个接受 along double
来转换它的函数。这引出了我的下一个问题。显然浮点并不总是有精确的表示,所以在我的 BigInteger 类中,当给定浮点数时我应该尝试表示什么。即使与传入的数字不同,尝试表示与给出的数字相同std::cout << std::fixed << someFloat;
的数字是否合理。这是我能得到的最准确的表示吗?如果是这样的话, ...
提取该值的最佳方法是什么(以 10 的幂为底),目前我只是将它作为字符串抓取并将其传递给我的字符串构造函数。这会起作用,但我不禁觉得有更好的方法,但肯定会在除以我的基数时取余数,浮点数不准确。
最后,我想知道是否有一个浮点等价于uintmax_t
, 那是一个类型名,它将始终是系统上最大的浮点类型,或者没有意义,因为long double
它将始终是最大的(即使它与双)。
谢谢,T。
c - 找到不能表示为 IEEE-754 32 位浮点数的最小整数
首先,这是一个家庭作业问题,只是为了立即解决这个问题。当然,我不是在寻找勺子喂食的解决方案,只是可能指向正确方向的一点点。
所以,我的任务是找到不能表示为 IEEE-754 浮点数(32 位)的最小正整数。我知道在“5 == 5.00000000001”之类的东西上测试相等性会失败,所以我想我只需循环所有数字并以这种方式进行测试:
这失败了。然后,我尝试从浮点“结果”中减去整数“i”,即“i”,希望获得可以尝试检测的“0.000000002”,但也失败了。
有人可以指出我可以依靠的浮点属性来获得所需的中断条件吗?
-------------------- 在下面更新 ----------------
感谢您对此的帮助!我在这里学到了很多东西:
我最初的想法确实是正确的,并确定了要在其上运行的机器(Solaris 10、32 位)上的结果,但无法在我的 Linux 系统(64 位和 32 位)上运行。
Hans Passant 添加的更改使该程序也适用于我的系统,这里似乎存在一些我没想到的平台差异,
谢谢大家!
floating-point - 为什么对双精度值的运算不能给出预期的结果?
2.14656
0.14656000000000002
怎么回事?