小弟着实菜鸟一个,不过只是想认认真真的搞清楚基础的东西《Core Java》3.5.5数值类型之间的转换中有这么一段话:例如,123 456 789是一个大整数,它所包含的位数比float类型所能表达的位数多。当将这个整型数值转换为float类型时,将会得到同样大小的结果,但却失去了一定的精度int n = 123456789;
float f = n; // f is 1.23456792E8<1> 123 456 789是一个大整数,它所包含的位数比float类型所能表达的位数多;FLOAT.MAX_VALUE = 3.4028235E38 远远大于 Integer.MAX_VALUE = 2147483647啊,为什么还说比float类型所能表达的位数多
<2> 为什么是 1.23456792E8 ,而非1.23456789E8?求通俗易懂的解释