参考: https://www. cnblogs.com/zuoxiaolong /p/computer11.html https://www. zengdongwu.com/article1 .html http://www. ruanyifeng.com/blog/201 0/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。
看到这里,就明白了为啥php中浮点数精度会丢失的问题。
顺便回忆下:负数的二进制表示: https://www.jianshu.com/p/6c518e7b4690