gpt4 book ai didi

Java 和 double 的大小

转载 作者:行者123 更新时间:2023-11-30 03:34:09 24 4
gpt4 key购买 nike

我目前正在学习 Java,在我的书中写了一个 double can 范围从 ~4,94E-324 到 ~1,798E+308

我有一些问题: double 怎么可能为零(0)?就像双 d = 0;当 double 的范围不包括零时,为什么会出现这种情况?为什么负数不见了?我在这里忘记了什么吗?感谢您的帮助!

真诚的,马克西

最佳答案

大多数编程语言中的 double 和 float 都比这更复杂。您可以通过查找 IEEE 754 找到更多技术解释。 float 标准。

基本上, float (在 java 中,变量类型 floatdouble)有效地以科学记数法存储,带有符号、尾数和指数。 (指数的底数始终为 2)。如何将其转换为二进制格式有点复杂,但要知道的重要部分是数字实际上存储为 +/- 尾数 * 2^exponent

然而,尾数和指数都有固定的范围。你的教科书谈论的是基于指数范围的可能值的范围。也就是说,如果您选择最大或最小可能的指数,忽略值的符号,则值可以有多大或有多小。在这种情况下,零也会被忽略,因为在科学记数法中,零是一个微不足道的情况,它不能说明可用的指数范围。

double 的精度约为 15-16 位,也就是说,无论指数如何,您都可以用长度为 15-16 位的尾数表示数字。无论尾数如何,您都可以表示从大约 10^-324 到大约 10^308 的数字。无论尾数和指数如何,您都可以表示正值和负值。

关于Java 和 double 的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28373160/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com