gpt4 book ai didi

java - Java中的浮点和 double 据类型

转载 作者:IT老高 更新时间:2023-10-28 12:16:12 26 4
gpt4 key购买 nike

float 数据类型是单精度 32 位 IEEE 754 float ,double 数据类型是 double 64 位 IEEE 754 float 。

这是什么意思?我什么时候应该使用 float 而不是 double 或反之亦然?

最佳答案

Wikipedia page这是一个很好的起点。

总结一下:

  • float 以 32 位表示,其中 1 个符号位、8 个指数位和 23 个有效位(或从科学记数法数得出的数字:2.33728*10 12;33728 是有效位)。

  • double 用 64 位表示,有 1 个符号位、11 位指数和 52 位有效位。

默认情况下,Java 使用 double 来表示它的 float (所以文字 3.14 的类型是 double)。它也是可以为您提供更大数字范围的数据类型,因此我强烈建议使用它而不是 float

可能有某些库实际上会强制您使用 float,但总的来说 - 除非您可以保证您的结果足够小以适合 float'小号 prescribed range ,那么最好选择 double

如果您需要准确性 - 例如,您不能有不准确的十进制值(例如 1/10 + 2/10),或者您正在做任何事情 与货币(例如,在系统中表示 $10.33),然后使用 BigDecimal,它可以支持任意数量的精度并优雅地处理此类情况。

关于java - Java中的浮点和 double 据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27598078/

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