1
5
用浮点除法计算计数倒数,然后用Newton-Raphson倒数公式将精度提高到全双倍。
|
2
3
显然你的算术错误不是很清楚。让我把它说清楚。 假设一个double有两个部分,大部分和小部分,每个部分大约有32位精度。(这不完全是双倍的工作方式,但它将为我们的目的。)
想象一下,我们一次32位,但所有的动作都是双打:
什么是大商?是双份的。所以它有两部分。bigquotient等于bigquotientbig+bigquotientlittle。继续:
同样,littlequotient是littlequotientbig+littlequotientlittle。现在我们加上商:
现在假设你是在花车里做的。你有:
好的,什么是r1?这是一个浮子。所以它只有一部分。r1是大商。
什么是r2?这是一个浮子。所以它只有一部分。r2是小商大。
把它们加在一起,就得到大商大+小商大。 大商小怎么了? 你已经失去了32位的精度,所以你一路上得到32位的精度是不足为奇的。 在32位的64位算术中,你还没有想出正确的算法。
为了计算
现在明白了吗? |
3
3
是的,只要你:
在阅读了您的评论(要求双精度)后,我更新的答案是: 不。 |
4
1
你只分了两个浮点数。我有更多的演员在那里比需要,但这是重要的概念。
编辑:
……但你知道,最简单的答案还是“不”。这甚至还没有捕捉到所有的舍入误差。从我的测试来看,它最多能将误差降低到1e-17,大约30%的时间。 |
5
0
IEEE-754标准
也就是说,是的 可能的 |