黑马程序员技术交流社区

标题: 关于基本数据类型值域问题 [打印本页]

作者: 范家鹏    时间: 2012-6-12 23:01
标题: 关于基本数据类型值域问题

int占用的空间是4字节,float占用的空间也是4字节,
而float的值域是-3.403*10^38~3.403*10^38,int的值域是-2^31~2^31-1
按理说都占4个字节32个2进制位,值域应该相同,为什么float的值域比int的值域大那么多?
long和double所占的空间相同,表数范围也差很多,求解~
作者: 赵兵锋    时间: 2012-6-12 23:19
这个张孝祥老师的java基础视频讲了的,int四个字节32位中的低31位都用来装数据,最高为是符号位。
而float的32位分成3部分,第0到22是有效数据 y,23到31是幂 m,最高为是符号位 f,那最后的值是 f * y [sup](m-150)[/sup].
请参看视频和API。

作者: 范家鹏    时间: 2012-6-12 23:23
赵兵锋 发表于 2012-6-12 23:19
这个张孝祥老师的java基础视频讲了的,int四个字节32位中的低31位都用来装数据,最高为是符号位。
而float ...

谢了~我看的是毕向东老师的~




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2