python中的大整数除法错误

时间:2012-06-03 04:41:29

标签: python largenumber

我正在使用Python中的大整数进行一些计算,我得到了一些奇怪的结果。

>>> 94970389L * 94958913L / 775920493L
11622692L
>>> 94970389L * 94958913L
9018284906627157L
>>> 775920493L * 11622692L
9018284906627156L

为什么第四行和第六行之间存在差异?它应该是平等的。

我在linux pc 32bits上使用Python版本2.7.3

1 个答案:

答案 0 :(得分:5)

你师的其余部分是1:

>>> 94970389L * 94958913L % 775920493L
1L

请记住,默认情况下,Python 2.x中两个整数的除法是一个整数除法,其余的则被丢弃。