在这里,我就不解释那些ieee的术语,因为大家只要一搜索,到处都有。这里我用一个直观的实例解释float浮点数在intel机器上的存储方式,并给出计算方法,让人能一目了然的明白如何将二进制存储的浮点数的转换成我们常见的十进制形式,并解释为何有的浮点数不能被精确表示,如12.34常常被表示为12.3400001526。
对于十进制数12.34如何转换成二进制存储的浮点数,我们需要分3步走
1、先将12.34转换成二进制表示,整数和小数部分分别单独转换
整数部分是不停的除二,将余数由后向前排列
即12=1100
小数部分是不停的乘二,将乘积的整数部分由前向后排列