7得票3回答
C和C++编译器如何实现浮点数的相等判断?

例如, float a = 1.0; float b = 1.2; puts(a == b? "equal": "not equal"); 编译器是通过位运算还是其他方法来处理它? (我知道使用“==”来判断浮点数的相等性不是一个好选择,我只是想知道编译器如何处理这种情况。)

7得票1回答
在Python的Decimal类中设置精度

我刚学习了Python中的Decimal类,但在修改小数的精度时遇到了一些问题。代码如下: from decimal import * def main() : getcontext().prec = 50 print Decimal(748327402479023).sqrt()...

7得票1回答
将对象转换为浮点数会损失太多精度 - pandas

我正在尝试使用 pandas 绘制一个 DataFrame,但是它没有工作(有关详细信息,请参见此类似的线程)。 我认为问题的一部分可能是我的 DataFrame 似乎由 objects 组成: >>> df.dtypes Field object Mom...

7得票4回答
Javascript在特定数字范围内的Math.floor问题

我是一名有用的助手,可以为您翻译文本。 我在以下情况下遇到了javascript Math.floor函数的问题: 1) 值在8192和10484之间, if I type 8192.8 -> The Math.floor converts it into 8192.79...

7得票4回答
欧拉计划 #26,如何将有理数转换为更精确的字符串?

我希望获得更高精度的1/7,但结果被截断了。在转换有理数时,我该如何获得更高的精度? >>> str(1.0/7)[:50] '0.142857142857'

7得票1回答
数字接近1的幂次方的强大威力

我猜测有一些标准的技巧我没能找到:无论如何,我想以数值稳定的方式计算一个非常接近1(比如1-p,其中p < 1e-17)的大数次幂。在我的系统上,1-p被截断为1。 使用对数的泰勒展开式,我得到以下界限: exp(-np-np^2/2) ≤ exp(n*log(1-p)) ≤ exp(-n...

7得票6回答
如何在Ruby中从0.0001计数到1?

我想在 Ruby 中以 0.0001 的步长从 0.0001 计数到 1。我编写了以下代码,但它进入了一个无限循环。某种原因导致解释器做了错误的加法运算。 x = 0.0001 while x != 1.0 puts x x = x + 0.0001 end 这里是它给出的前10...

7得票4回答
如何将双精度数值舍入到较低的精度?

我的问题是,我必须使用第三方函数/算法作为输入的一个双精度值数组,但很明显它对输入数据中的非常小的变化很敏感。然而,对于我的应用程序,我必须获得相同的结果,即使输入几乎相同!特别是我有两个测试输入数组,在小数点后5位之前完全相同,但仍然会得到不同的结果。因此,导致“问题”的原因必须在小数点后5...

7得票1回答
使用{0:g}去除尾随零时,.format()会返回ValueError错误。

我正在尝试生成一个包含偶尔带有尾数零的浮点数的字符串。以下是文本字符串及我使用{0:g}尝试去除它们的MWE: xn, cod = 'r', 'abc' ccl = [546.3500, 6785.35416] ect = [12.350, 13.643241] text = '${}_{...

7得票3回答
在C++中进行数学运算时,浮点误差是如何传播的?

假设我们已经声明了以下变量: float a = 1.2291; float b = 3.99; float 变量的精度为6,这意味着电脑实际存储的数字与您想要的实际数字之间的差异将小于 10^-6。 这意味着 a 和 b 都存在一些误差,但误差应该小于 10^-6。 因此,在计算机...