Questions tagged «numerical-algorithms»

4
浮动误差导致的不平等
至少在Java中,如果我编写以下代码: float a = 1000.0F; float b = 0.00004F; float c = a + b + b; float d = b + b + a; boolean e = c == d; 价值将。我认为这是由于以下事实造成的:在精确表示数字的方式中,浮点数非常有限。但我不明白为什么只是改变的位置可能会导致这种不平等。ËËeF一升小号Ëfalsefalse一种aa 我在第3行和第4行中将 s都减小为1,但是的值变为:bbbËee牛逼[R ü ètruËtrue float a = 1000.0F; float b = 0.00004F; float c = a + b; …



2
任意精度整数平方根算法?
是否有已知的次二次算法来计算n位整数的平方根的下限? 天真的算法是这样的 def sqrt(x): r = 0 i = x.bit_length() // 2 while i >= 0: inc = (r << (i+1)) + (1 << (i*2)) if inc <= x: x -= inc r += 1 << i i -= 1 return r 这需要O(n)迭代,每个迭代都涉及O(n)时间的增加,因此O(n^2)总的来说是时间。有什么更快的方法吗?我知道对于乘法来说,有一些特殊的算法比二次时间要好,但是对于平方根我找不到任何东西。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.