A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 戴振良 黑马帝   /  2012-3-25 15:28  /  5114 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

class TTest {
       
        public static void main(String args[]) {
                System.out.println(Integer.MAX_VALUE>Float.MAX_VALUE); //输出为false
        }
}

int 和 float型都是4个字节,float里包括小数,为什么他的取值还能比int型的大呢?

4 个回复

倒序浏览
int 和 float型都是4个字节,float里包括小数,但是float使用的是科学计数法,其中E38表示10的38次方。表示的范围比int大。
回复 使用道具 举报
其实是float的存储方式的问题,   它是用的IEEE754的标准。
回复 使用道具 举报
int型好理解,-2的31次方到2的31次方减1
而float,iee754我记得是前9位是指数,也就是表示10的次方数(包括正次方和负次方),而后23位表示的是小数并且是小于1的小数(默认有1),用后面的小数乘上前面的幂的次数,表示的范围,要比int大,而且精度更高,因为是小数点后位数更多,这么说能理解吗。
回复 使用道具 举报
既然float包括小数都能表示这么大的数,为什么int就不也用点什么其他的表示方式可以表示更大的整数呢?反正都是4个字节!{:soso__108243756926991508_3:}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马