喜欢钻牛脚尖的我又有疑惑了(float)

先看此题

img


为什么c=那里必须是5.0除以9,我就喜欢钻脚尖,在32那里加.0,但运行结果是错的 这是为什么?

img

img

1.运算是有优先级的,先算括号,没有括号先算乘除,后加减
2.在进行运算的过程中,会把各数值先统一转换成较大的类型,再做计算,比如int+double那么会把int转为double,返回值也是double
3.5和9都是int类型的常量,那么它们做除法是不需要转换类型的,因此结果也是int型,int型当然不包括小数部分
4.你在5/9计算之后做任何操作,已经不能把丢失的精度找回来了

5/9按整除计算得0
5.0/9按浮点数运算得0.5555...