CL-USER>(exp 1)
2.7182817exp在SBCL是错误的?
为什么?它应该是2.7182818(从2.7182818284590452353602874713526624977572470936999595749669四舍五入...)
SBCL 1.0.29.11.debian
CL-USER>(exp 1)
2.7182817exp在SBCL是错误的?
为什么?它应该是2.7182818(从2.7182818284590452353602874713526624977572470936999595749669四舍五入...)
SBCL 1.0.29.11.debian
它是在IEEE单精度浮点数格式固有的舍入误差。
CL-USER> (exp 1.0d0)
2.718281828459045d0
详细了解浮点运算,并在这个经典论文的“问题”(PDF):
What Every Computer Scientist Should Know About Floating-Point Arithmetic
我认为Oracle最近(自1月23日我猜的)移动的一堆东西到一个新的CMS ...无论如何,这是我发现的另一个链接,当它发生:http://www-users.math.umd.edu/~jkolesar/mait613/floating_point_math.pdf – spacemanaki 2011-01-28 15:43:02