我正在阅读BigDecimal Class,但我无法找到BigDecimal
类如何将值存储在计算机内存中的任何信息。
您是否知道任何可以提供此信息的可靠来源?
答案 0 :(得分:17)
BigDecimal的未缩放值存储在BigInteger中。 precision and scale分别存储在整数字段中:
BigInteger intVal
int scale
int precision
BigInteger将整数存储为32位整数的big-endian数组,并将该符号另存为另一个32位整数。
int signum
int[] mag
但正如Muhd所说,如果数字可以适合64位整数,则使用它来代替BigInteger。
答案 1 :(得分:6)
如果数字的位数足以适合long,则数字的有效数字存储在long中,否则它们存储在BigInteger中。此外,BigDecimal有int基元来表示scale and precision,比例表示小数点右边的有效数字,精度表示数字中有效数字的总数。