如何运算(float)(a+b)/2

来源:百度知道 编辑:UC知道 时间:2024/05/12 01:14:07

搞什么啊???????????????????????????????????????

先弄清楚: 运算优先顺序!!!!!!!!

() 圆括号的优先级: 1
(类型) 类型转换运算符的优先级: 2
/ 除法的优先级: 3

故,运算顺序应该为:

(a+b)
(float)(a+b)
( (float)(a+b) ) / 2

这样,结果会是什么, 懂得运算时类型如何转换的 小白, 都能得出答案了!!!

//弄清楚了运算顺序,再弄明白,系统在运算时,默认情况下进行的类型转换就OK了

并没有说a,b的数据类型啊!
若a,b是整数(a+b)/2得到一数,然后向下取整
若a,b是float类型float 没用
若a,b是double类型 (a+b)/2强制转化为float类型,数据会丢失,
若一int ,一float 或一int,一double或一float,一double
低阶的向高阶的转型

先计算(a+b)/2得到一个整数
再将所得的值转换为float
比如
a=2 b=3
先(a+b)/2=2,
再 得到2.000000

(a+b)/2得到的结果转换成浮点型

上面正解

a+b/2之后,有余数。
如果是(a+b)/2,后就不带余数。