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