在SBCL中出现错误?

时间:2011-01-22 23:35:12

标签: lisp sbcl

CL-使用者> (exp 1)
2.7182817

为什么呢?它应该是2.7182818(来自2.7182818284590452353602874713526624977572470936999595749669 ......)

SBCL 1.0.29.11.debian

2 个答案:

答案 0 :(得分:8)

这是IEEE单浮点格式固有的舍入误差。

CL-USER> (exp 1.0d0)
2.718281828459045d0

答案 1 :(得分:3)

在本经典论文(PDF)中了解有关浮点运算及其“问题”的更多信息:

What Every Computer Scientist Should Know About Floating-Point Arithmetic