运算中整数型与浮点型的处理
整数型的除法运算是舍位运算,而不是四舍五入,如 int t;t=20/3;这里的结果t=6;浮点型的运算按精度要求四舍五入。
当运算中的两个数分别是浮点型和整数型是以浮点型的规则进行运算,当出现整数常数时,如3,可以写成3.0来表示浮点型格式。当算式中超过三个数是,从左到右分别按如上两位数的规则进行。
以下举例来说明一些情况:
首先说明各个数值的类型,其次举例说明结果。
1.整数型=浮点型/整数型:
这个是以浮点型来运算的,但是结果是整数型的,例20.0/3=6.66…,但由于结果是整数型的,进行舍位,结果为6;
2.浮点型(0.1f)=浮点型/整数型:浮点型规则运算,结果等于6.7;
3.浮点型=整数型/整数型:整数型运算,计算结果舍位,等于6.0;
4.整数型/整数型×浮点型,同级运算从左到右,这里先进行整数型的除法,再进行浮点型乘法,如11/4×10.0=20;因为整数除法会舍位,故11/4=2,2×10=20.
给我们的教训是我们在写程序时应注意变量类型的的定义,以及对精度有要求时尽量先计算浮点型,出现常数时用3.0这个书写形式定于为浮点型。