有人能解释一下为什么Double.MIN_VALUE
实际上不是Double可以采用的最小值吗?它是一个正值,双精度值当然可以是负值。
我理解为什么它是一个有用的数字,但它似乎是一个非常不直观的名称,特别是与Integer.MIN_VALUE
相比。将其称为Double.SMALLEST_POSITIVE
或MIN_INCREMENT
或类似的名称将具有更清晰的语义。
另外,Double可以采用的最小值是多少?是-Double.MAX_VALUE
吗?医生似乎没说。
发布于 2010-10-08 02:49:11
double的最小值是Double.NEGATIVE_INFINITY
,这就是为什么Double.MIN_VALUE
不是Double
的最小值的原因。
由于双精度数是浮点数,因此只能使用最大的数字(精度较低)或最接近0的数字(精度较高)。
如果你真的想要一个不是无穷大的双精度数的最小值,那么你可以使用-Double.MAX_VALUE
。
发布于 2016-10-03 11:29:02
我假设容易混淆的名称可以是traced back to C,它将FLT_MIN
定义为最小的正数。
就像在Java中,你必须使用-Double.MAX_VALUE
,你必须使用-FLT_MAX
来获得C语言中最小的浮点数。
https://stackoverflow.com/questions/3884793
复制相似问题