我正在阅读BigDecimal 类,但我无法找到BigDecimal
类如何在计算机内存中存储值的任何信息。
您知道任何可以提供此信息的可靠来源吗?
BigDecimal的未缩放值存储在BigInteger中。精度和比例分别存储在整数字段中:
BigInteger intVal
int scale
int precision
BigInteger将整数存储为32 位整数的大端数组,并将符号单独存储为另一个 32 位整数。
int signum
int[] mag
但正如 Muhd 所说,如果该数字可以放入 64 位整数,则使用它而不是 BigInteger。
如果数字的数量足以适合长整数,则数字的有效数字存储在长整数中,否则将它们存储在 BigInteger 中。此外,BigDecimal 有 int 原语来表示比例和精度,比例表示小数点右侧的有效位数,精度表示数字中有效位数的总数。