有关python里开三次方的问题
在python中计算8的三次方根,得出的结果如下8**(1/3)
2.0
但我用同样的方法试图计算64的三次方根时,得到的却不是整数
64**(1/3)
3.9999999999999996
请问这是为什么?要怎么样才能计算出64三次方根的确切值? 这个问题太好了,我也研究下原因 原因:这种方法是先计算括号里的(1/3),得到近似值0.3333333333333333,再计算8 ** 0.3333333333333333,所以只能得出近似解,Python自动保留的一般是17位,计算8和27时近似解小数点后16位都是0,自动简化成一个0输出, 而64等近似解就是保留到17位
标准实现方法恐怕要用牛顿法,在下才疏学浅,烦请楼主自行深造。 没啥毛病,再计算机浮点数表示方法里,3.99和4.00差不多就是一个东西 没毛病,计算机就这样。
在python看来,3.99和4.0浮点数基本都类似。
{:5_109:} 19304270021304 发表于 2019-7-2 23:21
原因:这种方法是先计算括号里的(1/3),得到近似值0.3333333333333333,再计算8 ** 0.3333333333333333, ...
谢谢
页:
[1]