CL-使用者> (exp 1)
2.7182817
为什么呢?它应该是2.7182818(来自2.7182818284590452353602874713526624977572470936999595749669 ......)
SBCL 1.0.29.11.debian
答案 0 :(得分:8)
这是IEEE单浮点格式固有的舍入误差。
CL-USER> (exp 1.0d0)
2.718281828459045d0
答案 1 :(得分:3)
在本经典论文(PDF)中了解有关浮点运算及其“问题”的更多信息:
What Every Computer Scientist Should Know About Floating-Point Arithmetic