浮点数在机器中的存储格式如下:
符号位 | 指数位 | 小数部分 | |
单精度浮点数(32位) | 1位[31] | 8位[30-23] | 23位[22-0] |
双精度浮点数(64位) | 1位[63] | 11位[62-52] | 23位[51-0] |
(1)符号位表示整个浮点数的正负,0表示正数,1表示负数。
(2)指数用移码表示(+127或+1023)。
(3)小数部分中,小数点前的1是省去的。
1.0f在机器中的表示:
1.0f可写为
正数,因此符号位为0。
指数为0,加上127,则8位指数为0111 1111。
小数部分全为0。
因此1.0f在机器中的表示为:0011 1111 1000 0000 0000 0000 0000 0000即3f800000