黑马程序员技术交流社区

标题: Java的Float类型和Long类型谁的存储范围大? [打印本页]

作者: 唐智超    时间: 2015-5-28 00:02
标题: Java的Float类型和Long类型谁的存储范围大?
本帖最后由 唐智超 于 2015-5-28 00:04 编辑

如果你认为Long存储的范围更大那你就错了,先来看看下表:
  
原生类型
  
占位数
最小值
最大值
默认值
包装类
备注
boolean
1
false
true
false
Boolean
常用
char
16,带符号数
\u0000=0
\uFFFF=2^15*2-1=65535
\u0000
Character
处理字符串以及时经常使用,常用
byte
8,带符号数
-2^7=-128
2^7-1=127

Byte
IO流中经常使用,常用
short
16,带符号数
-2^15
2^15-1
0
Short
历史遗留,不常用
int
32,带符号数
-2^31
2^31-1
0
Integer
常用
long
64,带符号数
-2^63
2^63-1
0
Long
int无法存储的情况下使用,常用
float
32
1.4E-45f
3.4028235E38(38个整数位)
0.0f
Float
在对内存要求高的程序中使用,不常用
double
64
4.9E-324
1.7976931348623157E308(308个整数位)
0.0
Double
常用


从表中可得出:
Long的最大值2的63次方-1即9223372036854775807,整数位只有19位,而float的最大值的整数部分达到了38位。
所以肯定是Float能存储的值更大。

作者: luxinyu    时间: 2015-5-28 00:27
被Long这东西坑了不是一回两会了
作者: 张清华    时间: 2015-5-28 00:37
float的取值范围大,因为float为浮点型,在内存中的存储规则与整形的不同。
作者: kmlitheima    时间: 2015-5-28 10:13
首先什么是范围?如果说能存的做大值,当然是long,能存数的多少感觉意义不大。float存储小数,比如从0到1有无数个。




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