Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么我们看不到BigInteger的很多用途?_Java_Biginteger_Bigdecimal - Fatal编程技术网

Java 为什么我们看不到BigInteger的很多用途?

Java 为什么我们看不到BigInteger的很多用途?,java,biginteger,bigdecimal,Java,Biginteger,Bigdecimal,我是java的初学者,我们的教授避免讨论java.math包中的BinInteger和BigDecimal类。我想知道为什么。它们没有那么有用吗?我们到底什么时候需要使用BigInteger 你并不经常需要它们,但当你确实需要它们时,你真的需要它们。只有在实际需要存储任意精度的整数或实数时才需要它们。long上升到263-1,这是一个相当大的数字。在处理货币时,十进制数据类型是必不可少的。int和long的基本类型可以表示的值范围有限。浮点原语float和double也是如此。然而,你也面临着精

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

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

在处理货币时,十进制数据类型是必不可少的。

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

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

它们有运算符而不是方法,因此代码更容易读/写。 他们的效率要高得多。 long是最大的基元整数类型,最大值为9223372036854775807,或2^63-1,最小值为-2^63。 double是最精确的基元浮点类型,具有64位精度,即


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

BIGINT总是两个int的乘积。
示例99X99=10000,最大可达两倍。

您提到的两个库都有它们的用途,如果没有它们,它们就不存在了。然而,你的老师可能选择不讨论它们,因为你可能不会在你的特定课程中使用它们。他必须在某个地方设置一个限制,你不能在一门课程中涵盖整个Java库。

在处理currence时,BigDecimal数据类型是必不可少的。我更多地考虑了多种语言;如果Mobasher正在学习,他应该希望学习的不仅仅是Java!我很幸运在大学里学了埃菲尔!