黑马程序员技术交流社区
标题:
为什么int 的最大值小于float的最大值
[打印本页]
作者:
戴振良
时间:
2012-3-25 15:28
标题:
为什么int 的最大值小于float的最大值
class TTest {
public static void main(String args[]) {
System.out.println(Integer.MAX_VALUE>Float.MAX_VALUE); //输出为false
}
}
int 和 float型都是4个字节,float里包括小数,为什么他的取值还能比int型的大呢?
作者:
朱鹏举
时间:
2012-3-25 15:50
int 和 float型都是4个字节,float里包括小数,但是float使用的是科学计数法,其中E38表示10的38次方。表示的范围比int大。
作者:
李柯
时间:
2012-3-25 15:57
其实是float的存储方式的问题, 它是用的IEEE754的标准。
作者:
马强
时间:
2012-3-25 17:50
int型好理解,-2的31次方到2的31次方减1
而float,iee754我记得是前9位是指数,也就是表示10的次方数(包括正次方和负次方),而后23位表示的是小数并且是小于1的小数(默认有1),用后面的小数乘上前面的幂的次数,表示的范围,要比int大,而且精度更高,因为是小数点后位数更多,这么说能理解吗。
作者:
戴振良
时间:
2012-3-27 17:18
既然float包括小数都能表示这么大的数,为什么int就不也用点什么其他的表示方式可以表示更大的整数呢?反正都是4个字节!{:soso__108243756926991508_3:}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2