Java支持任意大小的数字吗?

Java支持任意大小的数字吗?,java,integer,Java,Integer,使用Java,我试图解决一系列问题,如下所示: 编写一个打印所有素数的程序。(注意:如果您的编程语言不支持任意大小的数字,那么将所有素数打印到您可以轻松表示的最大数字也可以。) 它们的意思是“n以内的所有素数”吗?我如何知道Java是否支持任意大小的数字,如果支持,它是什么?Java的原语具有定义良好的范围ints的范围在-231到231-1之间。您可以在中查看完整的详细信息。如果要表示比long原语允许的更大的整数(即263-1),则必须使用该类。打印所有素数的程序将是一个非停止程序。有无限多

使用Java,我试图解决一系列问题,如下所示:

编写一个打印所有素数的程序。(注意:如果您的编程语言不支持任意大小的数字,那么将所有素数打印到您可以轻松表示的最大数字也可以。)


它们的意思是“n以内的所有素数”吗?我如何知道Java是否支持任意大小的数字,如果支持,它是什么?

Java的原语具有定义良好的范围<例如,code>ints的范围在-231到231-1之间。您可以在中查看完整的详细信息。如果要表示比
long
原语允许的更大的整数(即263-1),则必须使用该类。

打印所有素数的程序将是一个非停止程序。有无限多个素数,所以你可以永远运行这个程序

大多数语言中的基本数字类型都有一定的内存空间,因此它们可以表达的数字范围有限。例如,Java
int
存储在4个字节中。这将使不间断素数程序变得不可能,因为你最终会得到一个大于你能存储的最大数的素数

除了原始数字类型,许多语言都有任意大小的数字类型。当您存储较大的数字时,它们使用的内存量将增加。Java有
biginger
用于此目的,而Python默认情况下仅以这种方式存储所有数字

即使是这些任意大小的数字,最终也会受到程序可以访问的内存量的限制。实际上,打印所有素数是不可能的

你试图解决的问题陈述真正的意思是,他们不想让你为此烦恼!只需使用您语言中的标准数字类型。没有一个系统能够计算无限多个素数。他们想让你做的是编写一个算法,在给定系统和数据类型的情况下,计算出无限多个素数


也许他们可以用更好的措辞。简而言之:不用担心。

Java有各种数学和数字类。我记得的最后一个是BigInt。不过,我不知道这在今天是否仍然有效。我认为这个问题主要是基于观点的。如果可能的话,要求澄清的最好方式是询问问题的作者。问题的标题不应该是“Java支持任意大小的数字吗?”?