如果从 -2^31 到 2^31 需要所有 32 位来存储,它如何存储 + 和 - 无限?它会使用更多内存吗?存储这些值是否良好且安全?
更新:感谢答案,我知道只有浮点数据类型可以存储 Inf 值,整数不能。
Java 以及大多数其他编程语言都遵循IEEE 754浮点数规范。可能值的范围略有减少,以允许无穷大以及NaN
(Not a Number)。这些可以安全存放;它们甚至可以作为常量使用,例如Double.POSITIVE_INFINITY
.
如果从 -2^31 存储到 2^31 需要全部 32 个字节
我认为您的意思是 32 bits,用于存储此范围内所有可能的整数值。Java 的 Integer 类型如您所描述的那样工作,并且无法存储无穷大或其他特殊值。