Java如何在内存中存储+-Infinite?

发布于 2024-11-27 07:29:34 字数 109 浏览 1 评论 0原文

如果需要全部32位来存储从-2^31到2^31,它如何存储+和-无穷大?它使用更多内存吗?存储这些值是否良好且安全?

更新:感谢答案,我知道只有浮点数据类型可以存储 Inf 值,整数不能。

If it takes all 32 bits to store from -2^31 to 2^31, how can it store + and - Infinite? Does it use more memory? Is it good and safe to store those values?

UPDATE: Thanks to the answers, I know that only floating point data types can store Inf value, Integers can't.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

心在旅行 2024-12-04 07:29:34

Java 与大多数其他编程语言一样,遵循 IEEE 754 规范浮点数。可能值的范围略有减小,以允许无穷大以及NaN< /code>(不是数字)。这些可以安全储存;它们甚至可以作为常量使用,例如 Double.POSITIVE_INFINITY

如果需要全部32字节来存储从-2^31到2^31

我认为您的意思是 32 位,以存储此范围内的所有可能的整数值。 Java 的 Integer 类型按照您的描述工作,并且无法存储无穷大或其他特殊值。

Java, along with most other programming languages, follows the IEEE 754 specification for floating point numbers. The range of the possible values is slightly reduced to allow for the infinities as well as NaN (Not a Number). These are safe to store; they're even available as constants, for example Double.POSITIVE_INFINITY.

If it takes all 32 byte to store from -2^31 to 2^31

I think you mean 32 bits, to store all of the possible integer values in this range. Java's Integer type works as you describe, and has no way to store infinities or other special values.

左岸枫 2024-12-04 07:29:34

如果需要存储从-2^31到2^31的全部32个字节位...

您正在谈论 整数s

...它如何存储+和-无穷大?

您正在谈论 Float,这是不同的数据类型。 Float 是 32 位 IEEE 754 数字,Double 是 64 位 IEEE 754 数字。 IEEE 754 浮点数为正无穷和负无穷预留了特殊值。

Java 的 Integer 类中没有特殊的“无穷大”值,您可以存储全范围的值。

If it takes all 32 byte bits to store from -2^31 to 2^31...

There you're talking about Integers.

...how can it store + and - Infinite?

There you're talking about Float and Double, which are different data types. Float is a 32-bit IEEE 754 number, and Double is a 64-bit IEEE 754 number. IEEE 754 floating-point numbers have special values set aside for positive and negative infinity.

There is no special "infinity" value in Java's Integer class, you can store the full range of values.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文