由于存储会损失精度,0.1的存储直接输出还是0.1而不是0.099999呢

由于存储会损失精度,0.1的存储应该是0111111011.100110011001100110011001
为什么float a = 0.1;
直接输出还是0.1而不是0.099999呢?

虽然0.1用浮点数表示是一个近似值,但是0.099999也是一个近似值,那么如果这个浮点数更接近前者,那么输出结果就是前者。