c++常用运算符

算数运算符

1.  +(加号)

做加法运算。

2. /(除号)

做除法运算。

3.*(乘号)

做乘法运算。

4.-(减号)

做减法运算。

5.%(取余)

做取余运算,一个数除以另一个数,商到个位,取最后的余数。这两个数必须是整数,只有整数能做取余运算。

赋值运算符

赋值运算符的左边必须是变量,结合性从左到右

1. *=

左边的变量乘以右边的数,结果再赋值给左边的变量。

2. /=

左边的变量除以右边的数,结果再赋值给左边的变量。

3. +=

左边的变量加右边的数,结果再赋值给左边的变量。

4. -=

左边的变量减右边的数,结果再赋值给左边的变量。

逻辑运算符

运算结果为bool类型

1.&&(逻辑与)

同真为真,否则为假。先算前面的式子,前面式子为假,后面的式子不参与运算。

2.||(逻辑或)

同假为假,否则为真。先算前面的式子,前面式子为真,后面的式子不参与运算。

3.!(逻辑非)

真则为假,假则为真。

关系运算符

运算结果为bool类型。
分别为>, >=, <, <=, ==, !=。

位运算符

1.&(按位与)

进行与运算。运算 方式为:先把要进行运算的数换算成二进制补码,再进行与运算,在相同位上有0为0,同1为1。
这里我们先来看看那一个8位二进制的例子:

7&8 = 0000 0111 & 0000 1000 = 0000 0000 = 0
7&6 = 0000 0111 & 0000 0110 = 0000 0110 = 6

2.~(按位取反)

进行取反运算。运算 方式为:先把要进行运算的数换算成二进制补码,再进行取反运算,在每位上0变1,1变0。
直接看例子:

~7 = ~0000 0111(补码) = 1111 1000(补码) = -8
也可以利用公式:-(a+1)

3.|(按位或)

进行或运算。运算 方式为:先把要进行运算的数换算成二进制补码,再进行或运算,在相同位上有1为1,同0为0。
来看看8位二进制的例子:
7|8 = 0000 0111 | 0000 1000 = 0000 1111 = 15
7|6 = 0000 0111 | 0000 0110 = 0000 0111 = 7

4.^(按位异或)

进行异或运算。运算 方式为:先把要进行运算的数换算成二进制补码,在进行与运算,在相同位上相同为0,不同为1,即:0|0 = 0、 1|0 = 1、0|1 = 1、 1|1 = 0。
看下面的例子:
7^8 = 0000 0111 ^ 0000 1000 = 0000 0111 = 7
7^6 = 0000 0111 ^ 0000 0100 = 0000 0011 = 3

5.<<(左移),>>(右移)

把二进制位整体向左或向右移动。
7>>1 = 0000 0111 >> 1 = 0000 0011 = 3
7>>2 = 0000 0111 >> 2 = 0000 0001 = 1
这里右移等于除了2的N次方,N为右移的位数。
左移与右移相反。

其他运算符

  1. ,(逗号运算符)逗号运算符:从左往右依次计算,最后一个式子的值就是整个表达式的值。
  2. 条件运算符:
    a?b:c 如果a为真,结果为b,否则为c。

3.++(自增),–(自减,是两个减号)
自己(变量)本身+1或者-1
(1)前置:先自加(减),再运算.
(2)后置:先运算,再自加(减)
注意:效率前置>后置;优先级后置>前置

运算总原则

1.整型提升:bool、char、unsigned char、short、unsigned short
int、unsigned int运算时,自动提升为int型或者unsigned int型
2.运算结果的类型以参与运算中类型精度高的为准。
整数默认是int型,小数默认是double。
3.优先级:
单目>算术>左移、右移>关系>按位与、按位异或、按位或>逻辑(&&,||)>条件运算符>赋值>逗号

  • 4
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值