摘自: https://zhuanlan.zhihu.com/p/68801766
浮点数的二进制表示
![albin](https://img-blog.csdnimg.cn/img_convert/ee7c5cda147d10ca8b16411f43d46536.png)
albin
参考:
https://www.cnblogs.com/zuoxiaolong/p/computer11.html
https://www.zengdongwu.com/article1.html
http://www.ruanyifeng.com/blog/2010/06/ieee_floating-point_representation.html#comment-text
十进制小数转二进制的方法:
1)5.34375整数位为5,转二进制为101;
2)小数位0.34375 * 2 = 0.6875,整数位为0,结果101.0;
3)继续0.6875 * 2 = 1.375,整数位为1,结果101.01;
4)去掉整数继续乘2,0.375 * 2 = 0.75,结果101.010;
5)循环到没有小数为止……;
6)最终结果:101.01011。
![](https://img-blog.csdnimg.cn/img_convert/f07bb6ca61d0c6ff6397900554536b2e.png)
![](https://img-blog.csdnimg.cn/img_convert/76b57738ed900057401bdade0e18d622.png)
看到这里,就明白了为啥php中浮点数精度会丢失的问题。
顺便回忆下:负数的二进制表示: https://www.jianshu.com/p/6c518e7b4690
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)