浮点数在内存存储中都分为3个部分:
1)符号位(Sign):0代表正,1代表为负;
2)指数位(Exponent):用于存储科学计数法中的指数数据,并且采用移位存储(移码表示)(需要加偏置值Bias);
3)尾数部分(Mantissa):(原码表示)
类型float大小为4字节,即32位,内存中的存储方式如下:
高地址低地址
|符号位|指数|尾数|
| 1 bit |
8 bit |
23 bit |
3130220
类型double大小为8字节,即64位,内存布局如下:
高地址低地址
|符号位|指数|尾数|
| 1 bit |
11 bit |
52 bit |
6362510
科学计数法存储数据:
如:
http://hi.baidu.com/lxsbupt/blog/item/55315b8b41623dd9fc1f1037.html
8.25用十进制的科学计数法表示就为:8.25*10^0,而120.5可以表示为:1.205*10^2。对于计算机来讲,就是二进制的科学计数法:
8.25用二进制表示可表示为1000.01,120.5用二进制表示为:1110110.1。用二进制的科学计数法表示1000.01可以表示为1.00001*2^3,1110110.1可以表示为1.1101101*2^6,任何一个数的科学计数法表示都为1.xxx*2^n,尾数部分就可以表示为xxxx