思考:为什么四个字节的浮点数比八个字节的整数表示的范围广
让我们先看看整数和浮点数的字节储存方式
基本数据类型 | 字节数 | 位数 |
---|---|---|
boolean | 1/8字节 | 1bit |
byte | 1字节 | 8bit |
short | 2字节 | 16bit |
char | 2字节 | 16bit |
int | 4字节 | 32bit |
float | 4字节 | 32bit |
long | 8字节 | 64bit |
double | 8字节 | 64bit |
4byte的浮点数:
符号位(1) | 指数位(8) | … | 尾数位(23) | … |
---|
符号位:1位 0(正)1(负)
指数位:8位 有一位是符号位0/1
指数位范围:2^7 ~ -2^7
尾数位:23位,最大值所有位数都为1
那么最大值就是1*2127;那么最小值就是-1*2127。
比较四个字节的浮点数比八个字节的整数表示的范围
八个字节的整数范围: -2^63 -- 2^63-1
四个字节的浮点数范围:-2^127 -- 2^127
结论:四个字节的浮点数比八个字节的整数表示的范围广