Gee*_*eek 5 java biginteger arbitrary-precision
对于某些人来说,这可能是一个非常简单的问题,但我想知道BigInteger的 JavaDoc第一行中出现的任意精度的含义:
不可变的任意精度整数.
术语" 固定精度"表示内部表示中仅保留一定数量的有效数字.这意味着您将无法表示幅度大于某个阈值的每个整数.
对于任意精度整数,整数可以根据需要大小("任意大"),并且库将所有数字保持为最低有效单位.(这显然受到计算机内存量的限制.)
这意味着BigInteger使用尽可能多的空间来保存整个值.
以int作为一个例子.它具有固定的位数.有了它,您可以在-2,147,483,648和之间保存值2,147,483,647(包括).因此它是固定精度类型而不是任意精度类型.它不能存储超出此范围的值.
有了BigInteger,你没有那个问题,因为一旦分配的位不足以存储确切的值,BigInteger只需添加一些位,以便它可以再次处理该值.
任意实际上并不是真的,因为存在限制,因为只有有限的可用内存.该限制不是由BigInteger类提供,而是由环境(VM /硬件/ OS)提供.
| 归档时间: |
|
| 查看次数: |
2734 次 |
| 最近记录: |