Это связано с конечной точностью представления чисел с плавающей точкой дробных чисел.
Пожалуйста, смотрите: http://en.wikipedia.org/wiki/Floating_point
(exp 1)
будет приближаться к e
(который требует бесконечной точности для идеального представления). Натуральный логарифм этого приближения будет приблизительно (но не точно) 1
. Понимание представления с плавающей точкой позволит вам понять, почему это происходит.
CLISP использует собственное представление поплавков в архитектуре вашей машины. Чаще всего это представление представлено в одном из форматов, определенных IEEE 754 (обычно 32- или 64-битный; в вашем случае это выглядит как 32-битный). В двух словах, дробные части представлены суммой обратных степеней 2 (, т.е. , некоторая комбинация 1/2
, 1/4
, 1/8
, ... 1/2^32
, и т.д. ) * * тысяча двадцать-одна