关于浮点数的加法问题
代码如下:
我想知道后面的0.0000001是从哪儿来的?结果为什么不是1?还有,当我把精度设置为%.8f时,有多了一位不确定值,这到底是怎么回事呀?为什么浮点数的加法这么诡异呢?0.0加上十次0.1后,居然不是1?求高手给我这个菜鸟指点一下,谢谢! c float
[解决办法]
浮点数不能精确表示0.1,因此会有误差,具体可查看iee754
[解决办法]
用10进制小数不能精确表示某些三进制小数0.1(3)=0.33333333333……(10)
同理,用二进制小数也不能精确表示某些10进制小数。