【发布时间】:2013-08-28 04:32:34
【问题描述】:
我正在开发一个 Big Integer 类(教学目的),我一直在使用 Ruby 来生成测试用例。我的课程在以下测试中失败:
a = -48197174570431531987668852939807674377435188974148779416366905274642031729688518691
b = 4322669160730708444058642850762359547515258361061655693150034467061
a / b = -11149864303351921 # Ruby answer
我在我的代码中找不到错误,所以我尝试使用其他工具验证结果并感到惊讶:o。
GMP、Java BigInteger 和我的类结果不谋而合:
11149864303351920
-11149864303351920
但 Ruby 和 Python 恰逢此:
-11149864303351921
11149864303351920
有人能解释一下为什么会出现这种行为吗?请。
【问题讨论】:
-
我想你是在问为什么 Python 和 Ruby 中的否定结果少一个。在 Python 中,整数除法层,here is why.
-
@StevenRumbalski,是的,这就是我要找的。span>
标签: java python ruby gmp bignum