python – 浮点随机(?!)精确怪癖
参见英文答案 > Is floating point math broken?????????????????????????????????????28个 python版本:
上:http://repl.it/languages/Python 使用解释器分配:
好的浮点精度因为不精确而臭名昭着; 也:
最佳答案
整数和浮点数被赋予一定的位数.对于整数,每个位对应于2的幂.第一个数字是20,然后是21,22,依此类推.所以要存储整数5,我们有20 22 = 1 4.
对于浮点数,我们将它们分为两部分.指数和小数.如果我们的小数为.75且指数为2,我们的确为.75 * 102 = 7.5.小数存储为2的负幂.所以我们有2-1,2-2. 2-3.等等于.5,.25,.125等. 有些数字是不可能存储的,因为它们确实需要无限位来表示,如0.1,而其他像3.1415这样需要比CPU提供的浮点数更多的位数(24是32位浮点数的标准,但算法不同). 比较浮点数的正确方法是定义方差,并沿着这些线使用某些东西.
在Python中,十进制库也很有用. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |