转换公式:
(-1)^S * M * 2^E (S是符号位 M是尾数 尾数就是小数点后面的数 E是偏置值 偏置值就是阶码部分 就是2的几次方这个权重值) 单精度是E-127 双精度是E-1023
浮点数格式:
单精度 : 符号位S 占1位 阶符E 占8位 尾数M 占23位
双精度 : 符号位s 占1位 阶符E 占11位 尾数M 占52位
存:
1:先把十进制数转化为二进制
2:写成 S M 2^E 的形式 M要再1.0<=M<2
3:写成 S E+127 M 的形式
4:把E(+127以后的E)转化成2进制 M取小数点后面的尾数
5:E或M位数不够再后面补0
存上了这个二进制数列 如果要以十六进制显示 就转换成十六进制 然后内存中注意大小端问题
取:
1:先把E转换成10进制
2:10进制的E-127 求出E
3:M尾数前面加1.
4:1.M*2^E
5:移位 移成没有小数点的位
6:将这个二进制数转化成10进制
特殊情况:
取时 如果E为全0 就说明这个数小 M前就不用加1.
如果E为全1 有效数字M为全0 就说明这个数大
目前没讲怎么处理特殊情况