Python中的模运算能处理大数字吗?
使用模运算处理一个很大的数字,比如600851475143,结果却不对,谁知道这是为什么呢?
print 600851475143 / 2.0
print 600851475143 % 2.0
print 4 / 2.0
print 4 % 2.0
600851475143 / 2.0 = 300425737572.0
600851475143 % 2.0 = 1.0
4 / 2.0 = 2.0
4 % 2.0 = 0.0
我在尝试自己写一个找质数的函数,对于小数字来说运行得很好,但当数字变大时,模运算似乎就出问题了。我只是随便玩玩Python和欧拉挑战,已经为这个问题烦恼了一段时间了。
谢谢。
1 个回答
0
>>> print 600851475143 / 2
300425737571
>>> print 600851475143 % 2
1
>>> 4 / 2
2
>>> 4 % 2
0
除此之外,你的问题和大数字没有关系,主要是关于Python中的整数运算。