为什么python失去精度会乘以两个大整数?
考虑这两个随机数:
>>> x = 924787625893878964793582
>>> y = 247625893
>>> z = x // y
>>> z
3734616015676030
>>> ###so to find x, we do: z*y, but getting wrong result
>>> z * y
924787625893878927444790
Isn&#t; t z * y = x
,
如果z = x / y
?
为什么Python会为两个不同的操作提供相同的结果:
>>> 924787625893878927444790 // 247625893
3734616015676030
>>> 924787625893878964793582 // 247625893
3734616015676030
答案 0 :(得分:1)
您正在使用整数除法,因此小数部分会被截断。在第3行,使用一个斜杠。