mmh1 发表于 2018-12-28 08:43:15

关于expt函数的准确性

刚才用(fix (expt 216 (/ 1.0 3.0)))算出来的结果是5,实际上,6的三次方是216;汗啊,看来expt有误差啊,不知道有没有次幂的函数?

Gu_xl 发表于 2018-12-28 09:22:50

浮点精度问题,取整要改成这样消除浮点误差:
(fix (+ 1e-8(expt 216 (/ 1.0 3.0))))

小菜123 发表于 2018-12-28 08:46:30

expt没有问题, 把fix去掉

mmh1 发表于 2018-12-28 09:03:57

小菜123 发表于 2018-12-28 08:46
expt没有问题, 把fix去掉

216开三次方是6,fix 6,应该也是6

Andyhon 发表于 2018-12-28 09:39:12

在数直运算上若逢小数点值得考量计算机不是十进位滴
页: [1]
查看完整版本: 关于expt函数的准确性