大家都知道float运算时,可能会存在精度丢失的问题,例如 1/3 * 3 不等于1 ,
但是我有一个问题希望大家帮助解答,如下是我的测试代码
float b=0.35F*100;
return 0;
在直接计算 1.0F* 100 而不赋值给b 时,得到的数据大小是 34.9999999999 这点是正常的,
但是在赋值给float类型的b时,b的值 却为 35.0,而不是34.999999,
这是为什么?我猜测是优化了的问题,但是什么时候会存在这种优化?怎么优化的求解释
还有下面一个问题在,这是为什么