纯整数乘法中是否存在错误?

时间:2014-09-22 19:34:22

标签: floating-point int multiplication

我知道浮点乘法有错误但是纯整数乘法有错误吗?让我们说我使用Python,有多大的整数A和B可以计算A * B并得到完全正确的答案?墙在哪里?添加也一样吗?

1 个答案:

答案 0 :(得分:2)

(正确)浮点乘法没有错误。舍入可能会发生,但这不是错误,这是算术的定义行为。通俗地说,这被称为“舍入错误”,但它不是正常意义上的“错误”。

(正确)整数乘法没有错误。在某些语言中,可能会发生溢出,但这不是错误,这是算术*的定义行为。

特别是在Python中,整数乘法不会发生溢出**;结果等于“数学上精确”的结果,并在必要时默默地提升为bignum。添加也是如此。

[*]有些语言溢出会产生陷阱或抛出异常;但是,这是那些语言中定义的行为。

[**]只要结果不是很大,就无法分配存储空间。