![ece3bff01d5350525f92aa200b290c36.png](https://img-blog.csdnimg.cn/img_convert/ece3bff01d5350525f92aa200b290c36.png)
之前的那篇转载浮点数的存储转载内容比较粗糙。今天又花了点时间试了个具体的例子。部分内容摘自参考。
以32bit浮点数 0.123456789的存储为例,通过在线进制转换获得其16进制表示为
3DFCD6E9
对应的二进制为:
0011 1101 1111 1100 1101 0110 1110 1001
朴素二进制表示
0.123456789没有整数部分,所以直接看小数部分表示。
0.123456789 * 2 = 0.246913578 取整数部分0
0.246913578 * 2 = 0.493827156 取整数部分0
0.493827156 * 2 = 0.987654312 取整数部分0
0.987654312 * 2 = 1.975308624 取整数部分1,去掉整数部分
0.975308624 * 2 = 1.950617248 取1
0.950617248 * 2 = 1.901234496 取1
0.901234496 * 2 = 1.802468992 取1
...
最后将取的0,1按顺序排列得到:
0001