float和long比存储范围问题原因:它们底层的存储结构不同,float 底层是科学计数法,long是直接存数字。 float占4个字节,32个二进制位, 一位表示符号位,8bit表示指数,23bit表示底数,8位最小是00000000,最大是11111111,范围也就是0 ~ 255。而long是8个字节,也就是64位,除去符号位,指数范围是0 ~ 63,都是直接都用来存数。另外,long类型的变量值可以赋值给float类型的变量,而float类型的变量值不可以直接赋值给long类型的变量,需要进行强制类型转换。结论:long的取值范围远远小于float。