根据需要定义,一般反正定义double的比较多。
float和double的范围是由指数的位数来决定的。
float的指数位有8位,而double的指数位有11位,分布如下:
float:
1bit(符号位)
8bits(指数位)
23bits(尾数位)
double:
1bit(符号位)
11bits(指数位)
52bits(尾数位)
于是,float的指数范围为-127~+128,而double的指数范围为-1023~+1024,并且指数位是按补码的形式来划分的。
其中负指数决定了
浮点数所能表达的
绝对值最小的非零数;而正指数决定了浮点数所能表达的绝对值最大的数,也即决定了浮点数的取值范围。
float的范围为-2^128
~
+2^128,也即-3.40E+38
~
+3.40E+38;double的范围为-2^1024
~
+2^1024,也即-1.79E+308
~
+1.79E+308。
常用
数据类型有以下几种(32位机):
char
1字节
short
2字节
int
4字节
long
4字节
long
long
8字节
float
4字节
double
5字节
long
double
12字节