Java 中浮点数和双精度的包含范围是多少?
2022-09-01 13:41:56
Java 中浮点数和双精度的包含范围是多少?
为什么不建议对精度至关重要的任何事情使用浮点数或双精度?
Java 中浮点数和双精度的包含范围是多少?
为什么不建议对精度至关重要的任何事情使用浮点数或双精度?
Java的基元数据类型
布尔值:1 位。可能只接受真值和假值。
字节:1 个有符号字节(2 的补码)。涵盖从 -128 到 127 的值。
short:2 个字节,有符号(二进制补码),-32,768 到 32,767
int:4 个字节,有符号(2 个补码)。-2,147,483,648 至 2,147,483,647。
long:8 个字节签名(2 个补码)。范围从 -9,223,372,036,854,775,808 到 +9,223,372,036,854,775,807。
浮点数:4 个字节,IEEE 754。范围从 1.40129846432481707e-45 到 3.40282346638528860e+38(正或负)。
双精度:8 字节 IEEE 754。范围从 4.94065645841246544e-324d 到 1.79769313486231570e+308d(正数或负数)。
char: 2 字节, 无符号, Unicode, 0 到 65,535
Java 的 Double
类的成员包含该类型的 Min 和 Max 值。
2^-1074 <= x <= (2-2^-52)·2^1023 // where x is the double.
查看 的 静态最终成员。Min_VALUE
MAX_VALUE
Double
(一些)人们会建议不要对准确性和精确度至关重要的事情使用浮点类型,因为舍入误差可能会以可测量的(小)量来甩掉计算。