为什么我们没有看到BigInteger的大量使用?

时间:2016-03-17 21:27:31

标签: java biginteger bigdecimal

我是java的初学者,我们的教授避免从java.math包中讨论BinInteger和BigDecimal类。我想知道为什么。它们不是那么有用吗?当我们确实需要使用BigInteger时?

6 个答案:

答案 0 :(得分:1)

处理货币时,十进制数据类型至关重要

答案 1 :(得分:1)

在可能的情况下始终使用原语,因为:

  • 它们具有运算符而不是方法,因此代码更易于读/写。
  • 效率更高。

long是最大的原始整数类型,其最大值为9,223,372,036,854,775,8072^63 - 1,最小值为-2^63double是最精确的原始浮点类型,具有64位精度,即a lot

但是,如果您确实需要任意大/小整数或任意精确的十进制数,BigIntegerBigDecimal类型是合适的。然而,这种情况并不常见,这可能是您的教授没有讨论这些类型的原因。

答案 2 :(得分:0)

你并不经常需要它们,但是当你确实需要它们时,你真的需要它们。当你需要实际存储任意精度整数或实数时,你真的只需要它们。 long上升到2 63 -1,这是一个相当大的数字。

答案 3 :(得分:0)

int和long的基本类型可以表示有限的值范围。浮点基元float和double也是如此。然而,你也面临着精度有限的问题。对于许多情况,这不会造成任何问题,但是当需要更大的数字或精确的精度时(例如,在银行应用程序中,您希望尽可能精确),您将使用BigIntegerBigDecimal

答案 4 :(得分:0)

BIGINT始终是两个Ints的产物。 例99X99 = 10000到两倍大。

答案 5 :(得分:0)

你提到的两个图书馆都有它们的用途,如果没有,它们就不存在了。但是,您的老师可能选择不讨论它们,因为您可能不会在特定课程中使用它们。 (他必须在某处限制,你不能在一门课程中覆盖整个Java库。)