用于增加真正大数字的工具

时间:2014-03-20 17:19:05

标签: python

我写了一个程序,用于乘以非常大的数字。
假设我有两个数字:第一个是532位,第二个是526位。 我的程序给了我一个数字,看起来很正确:它有1058位数。

我尝试将结果与某些工具进行比较,以检查我的程序是否正确计算。 我使用python:对于这些输入数字,它看起来是正确的。第一个数字相同,最后数字相同。我无法比较每个数字,因为现在有超过数千个。
另外,我想检查我的程序是否有更大的输入数字。

所以,最后验证我在python中输入的结果:

first_number * second_number - my_program_result

对于〜<200位数的数字,结果为0.对于更大的数字,我得到了:

-1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000L

我不知道是我的程序故障还是蟒蛇。
python可以处理这么大的数字吗?是否还有其他工具可以用来验证我的结果?
< / p>

修改 如我所知,我给出的数字给了我输出:

3475674888888888888888888888888888888888888888888888888888888888888888888666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666699999999999999999999999999999999999999999999999999999999999999999999999999999999999999999933333333333333333333333333333333333333333333333333333333333333366666666666666666666666666666666666666666666666666666666666666662222222222222222222222222222222222222222222222222222222222222222288888888888888888888888888888888888888888888888888888888888882222222222222222222222222

3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333377777777777777777777777777777777777777777777777777777777777777777777777777777777777777778888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222299999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999

1 个答案:

答案 0 :(得分:0)

尝试使用Python的内置函数cmp()将乘积数的乘积与预期结果进行比较。

>>> print cmp(product_of_multiplication, expected_result)

如果product_of_multiplication == expected_result,则会返回0

如果product_of_multiplication > expected_result,则会返回1

如果product_of_multiplication < expected_result,则会返回-1