12得票2回答
math.sqrt()和math.pow()函数在处理大数时出现不准确的原因是什么?

如果你取一个数字,取它的平方根,去掉小数部分,然后再将其平方,结果应该始终小于或等于原始数字。 在Python上,这似乎成立,直到你尝试对99999999999999975425进行操作,原因不明。import math def check(n): assert math.pow(...

12得票2回答
我不理解Haskell中的数字转换

我想要做的是:isPrime :: Int -> Bool isPrime x = all (\y -> x `mod` y /= 0) [3, 5..floor(sqrt x)] (我知道我没有检查是否被2整除,请忽略这一点。)以下是我的代码:No instance for (F...

12得票4回答
**(1/2),math.sqrt和cmath.sqrt之间有什么区别?

x**(1/2)、math.sqrt()和cmath.sqrt()之间有什么区别? cmath.sqrt()为什么能够单独获得二次方程的复根?我应该仅使用它来获取平方根吗?它们在后台执行的操作有什么不同?

12得票7回答
有没有一个快速的C或C++标准库函数用于双精度倒数平方根?

我发现自己在打字double foo=1.0/sqrt(...); 我听说现代处理器内置了反平方根操作码,但对于我的程序而言需要对大量数据进行计算。 是否有 C 或 C++ 标准库提供的反平方根函数: 使用双精度浮点数? 与 1.0/sqrt(...) 一样精确? 与 1.0/sqrt(...

11得票3回答
C++实用计算复杂度的<cmath> SQRT()函数

这两者在CPU周期(或者说本质上是速度)方面有何区别? x /= y; 和 #include &lt;cmath&gt; x = sqrt(y); 编辑:我知道这些操作不是等效的,我只是任意地提出x /= y作为x = sqrt(y)的基准。

11得票3回答
在牺牲精度的情况下,在Java中实现快速平方根

我正在寻找一种快速的Java平方根实现,适用于输入范围为 [0, 2*10^12] 的双精度值。无论该范围内的数值是多少,精度都应该高达小数点后5位。换句话说,结果可以在小数点后5位之后与Math.sqrt()方法有所不同。但是,这个方法需要比Math.sqrt()更快。 有什么想法吗?谢谢!

11得票2回答
如何设置Raku的sqrt函数的精度级别?

使用Perl,可以使用bignum来为所有运算符设置精度级别。如下所示:use bignum ( p =&gt; -50 ); print sqrt(20); # 4.47213595499957939281834733746255247088123671922305 使用Raku时,...

10得票1回答
我能否将此宏转换为内联函数而不影响性能?

(编辑:让我们把这个标题命名为“测量误差的教训”。我还没有完全弄清楚是什么导致了差异。) 我在这里找到了一个非常快的整数平方根函数,作者是Mark Crowne。至少在我的机器上使用GCC编译,它显然是我测试过的最快的整数平方根函数(包括Hacker's Delight中的函数,以及这个页面...

10得票2回答
为什么在我的电脑上,使用g++编译器不加-O2参数时sqrt函数的速度会更快?

考虑以下代码:#include &lt;cstdio&gt; #include &lt;cmath&gt; const int COUNT = 1000000000; int main() { double sum = 0; for (int i = 1; i &lt;= ...

10得票1回答
为什么在 MinGW 中,全局范围内的 sqrt 比 std::sqrt 慢得多?

请考虑以下代码:#include &lt;cmath&gt; #include &lt;cstdio&gt; const int COUNT = 100000000; int main() { double sum = 0; for (int i = 1; i &lt;= ...