实际上Float.MIN_VALUE和Double.MIN_VALUE分别指的是float和double类型所能表示的最小正数。也就是说存在这样一种情况,0到±Float.MIN_VALUE之间的值float类型无法表示,0到±Double.MIN_VALUE之间的值double类型无法表示。这并没有什么好奇怪的,因为这些范围内的数值超出了它们的精度范围。唔,打个比方,int 类型只能表示整数,0,1,2,……,那么,从0开始,到int类型所能表示的最小正数,就是1。
int类型无法表示从0~1之间的任何数,比如说,0.1,,,0.323,这些都不能用int 来表示,对吧?因为那些范围的数值超出了int类型的精度范围。但是,这样不能表示int类型无意义。
那么,float也是一样的。从0开始到float类型所能表示的最小正数,也就是Float.MIN_VALUE,这中间一定有一个范围的数,是float类型无法表示的。