表示思路:数据先化为2进制,再化为16进制
一、单精度浮点数
float: 共计32bit,即4个字节。
float存储时,存储模式为:
符号位+8bit的指数位+23bit的数值位(位数位)
注意:
- 8bit的二进制数据存储范围为-127~128,故存储的指数位=指数的真值+127,来避免符号位的再次出现。
- 对于数据,首先需进行化简,均应化为1.0+小数部分或-1.0+小数部分的形式(此时系统会默认忽略整数位的1,而只存储小数部分)
- 特别的(承接第2条)
1. 对于0.0,存储为:1.0 * 2 ^(-127).
2. 因此数据存储时,符号位为0,指数位为-127+127=0,尾数位为23个0.
3. 对于-1e128(无穷大),存储为-1.0 * 2 ^ (128).符号位为1,指数位为127+128=255,尾数为23个0.
二、双精度浮点数
(表示方式与单精度相同)
需要注意:
- 存储模式为:符号位+11bit的指数位+52bit的数值位(位数位)
- 对于指数的存储,存储的指数位=指数的真值+1023.