C++运算总结

C++的算术运算符有: + , - , * , \ ,% 五个。

运算符优先级: +, -    <    *, \, %

同级别运算符优先级,在实现时由系统确定。

 

除法(/)的行为取决于操作数的类型

若两个操作数都是整数则结果是整数,例:

  int       a = 1 / 3;  // a 为0

  double b = 1 / 3;  // b依然为零,等效于 double b = (int) 1/3, 在表达式中操作数1和3被看作是整数,所以表达式结果也为整数

  double c = 1.0 / 3;   //  c = 0.3333……

  dobble d = 1 / 3.0;   // d = 0.3333……

  double e = (double) 1/3 ;  // e = 0.3333.... ,  相当于   double(1) / 3

  double f = (double) (1/3); // f = 0, 相当于(double) (int) (1/3) 

 

  3 % -2 ==> 1

  -3 % 2 ==> -1

  -3 % -2 ==> 出错?

 

类型转换:

  可能存在问题的转换:

  1) double -> float, 精度(有效位数降低),值可能超出目标类型的范围;

  2) 浮点(double/float) -> 整型(int/unsigned i/ long/ short), 小数部分丢失,原来的值可能超出目标类型的取值范围;

  3) 大整型 -> 小整型, (e.g.: long -> short), 可能超出目标类型的取值范围,通常只复制(截取)右边的字节(低字节,)。

  例3.13 assign.cpp,P63.

 

  0赋值给bool变量时,将被转换为false;

  非零值赋给bool变量时,将会转换为true;

 

转载于:https://www.cnblogs.com/GregoRay/p/5585527.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值