作者:武沛齐 出处:
http://www.cnblogs.com/wupeiqi/
本文版权归作者和博客园共有
为啥会有上述图片的现象呢?其实是由于float底层存储原理导致,下面听我娓娓道来。
第一步:浮点数转换为二进制表示
整数部分,直接转换为二进制,即:`100111`
小数部分,让小数一直乘2,小于1则用结果继续乘,大于1则结果减1继续乘,等于1则结束。
如果小数位是0.25就会比较简单,例如:
0.25 * 2 = 0.5 // 小于1,则继续乘
0.5 * 2 = 1 // 等