本帖最后由 paul20150103 于 2015-11-26 20:45 编辑
除法: "/" 两个运算数为整型, 结果为整型(舍弃小数位)
两个运算数有一个为float型 一个为整型时, 结果为float型
两个运算数有一个为double型 一个为整型时, 结果为double型
取余: "m%n" 1.小数不可以取余(两个运算数)
2.m<0, n>0时 结果为负
3.m>0, n<0时 结果为正
4.m<0, n<0时 结果为负 取余结果的正负只与m的正负有关
加法: “+” 1. 当一个大大数,和一个小小的数(float型的数)相加时,结果会有问题
例如: 3455 + 0.000003f = 3455.000xxx (xxx为不确定的数,无效数据)
xxx的原因是 float,可以精确小数位六位, 但整个float数 有效是只有七位
2. f1 = 3.1415f;
printf("f1 = %d",(int)f1); //(此时的float型的f1会被临时转换为int类型)
系统会默认一些强制转换类型,在运算时要注意类型的转换
char , short
int
unsigned
float , long
double
上面的类型可以被强制转换为下面的类型:
比如 int 类型的数和double类型的数相加时, int类型的数据会被强制转换为double类型。
|
|