实型存储分为三部分:符号部分,小数部分和阶数部分。其中小数部分表示精确程度,阶数部分表示大小。
单精度规定用8位二进制表示阶数,即最大表示为2的128次方,把这个数算出来是3.4028236692093846346337460743177e+38
双精度规定用11位二进制表示阶数,即最大表示为2的1024次方,结果是1.797693134862315907729305190789e+308
float的有效数字是6~7位,double的有效数字是15~16位:算法如下
单精度8位阶码,1位符号,剩下23位尾数,算出2的负23次方,得到0.00000011920928955078125
前面0有多少个,就表示能精确到那一位
双精度11位阶码,1位符号,剩下52位尾数,算出2的负52次方,得到0.00000000000000022204460492503130808472633361816
前面0有多少个,就表示能精确到那一位