java - BigDecimal 是如何实现的?

标签 java bigdecimal

我正在阅读 BigDecimal Class但我找不到任何关于 BigDecimal 类如何在计算机内存中存储值的信息。

您知道可以提供此信息的可靠来源吗?

最佳答案

BigDecimal 的未缩放值存储在 BigInteger 中. precision and scale分别存储在整数字段中:

BigInteger intVal
int scale
int precision

BigInteger将整数存储为 big-endian 32 位整数数组,符号分别作为另一个 32 位整数。

int signum
int[] mag

但正如 Muhd 所说,如果数字可以容纳在 64 位整数中,那么将使用它而不是 BigInteger。

关于java - BigDecimal 是如何实现的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10655254/

相关文章:

java - java.math.MathContext 的使用

java - android中的乘法持久化程序

java - 不使用 session 变量从servlet调用jsp页面

java - 如何使用 JPA 填充闭包表?

Java BigDecimal 区别

java - 为什么我的 BigDecimal 计算不起作用?

java - Sftp 出站网关多个删除请求在第一个 "File not found"问题后卡住

java - Java中如何根据日期高效触发事件?

scala - 绝对函数

java - 将特定于语言环境的字符串转换为 BigDecimal 的最佳方法