浮点数存储规则
根据国际标准IEEE(Institute of Electrical and Electronics Engineers 电气和电子工程协会)规定,任何一个浮点数NUM的二进制数可以写为:
NUM = (-1) ^ S * M * 2 ^ E 其中,S表示符号,M表示有效数字,E表示阶乘
①当S为0时,表示一个正数;当S为1时,表示一个负数
②M表示有效数字,1<= M <2
③2^E表示指数
示例:
比如十进制的3.0,二进制就是0011.0 就可以写成(-1)^ 0 * 1.1 * 2 ^ 1
在比如十进制的-3.0,二进制就是-0011.0 就可以写成(-1)^ 1 * 1.1 * 2 ^ 1
而规定float类型有一个符号位(S),有8个指数位(E),和23个有效数字位(M)
double类型有一个符号位(S),有11个指数位(E),和52个有效数字位(M)