IEEE 754这个规则规定了C语言中浮点数的储存方式;
以float number=5.5来举例,
5的二进制为0101,0.5的二进制为1(小数位进制为1/2),5.5的二进制就为:101.1
用M表示1.011去除小数点前的数,也就是M=001,E表示小数点向前移动的位数,所以E=2.
float型(32位),第一位是符号位0/1,后八位是E(规定float型要+127,double型要+1023)
,最后23位是M,不够补0;
double(64位),第一位为符号位,后11位是E,最后52位是M,不够补0;
取数据:如果E不为全0或全1,就怎么存进来的怎么倒回去。
如果E为全0(-127+127=0),说明原本的E很小此时不补上小数点前的1,直接取出0.xxxx,
E为-126(-1022),结果非常非常小。
5.如果E为全1,说明原来E为128,此时就是正负无穷。