您的位置:首页 > 编程语言 > C语言/C++

c++操作符使用

2014-08-04 15:50 78 查看
一个下午的时间总算弄清楚c++各个操作符的使用方法,这个地方一直弄不清楚,今天终于有空把它弄清晰了

一:位操作符

1. & 操作符 (按位与)

运算符"&"是双目运算符。 其功能是参与运算的两数各对应的二进位相与。只有对应的两个二进位均为1时,结果位才为1 ,否则为0。参与运算的数以补码方式出现。

例如:

9&5

可写算式如下: 

  00001001

  &

  00000101

=00000001

2. |   操作符 (按位或)

运算符“^”是双目运算符。 其功能是参与运算的两数各对应的二进位相异或,当两对应的二进位相异时,结果为1。参与运算数仍以补码出现

例如:

9|5

可写算式如下:

  00001001

  |

  00000101

=00001101

3. ^  操作符(按位异或)

运算符“^”是双目运算符。 其功能是参与运算的两数各对应的二进位相异或,当两对应的二进位相异时,结果为1。参与运算数仍以补码出现

例如:

9^5

可写算式如下: 

  00001001

  ^

  00000101

=00001100

4. ~ 操作符(求反)

运算符~为单目运算符,具有右结合性。 其功能是对参与运算的数的各二进位按位求反

例如:

~(1001)

可写算式如下: 

0110

5. << 操作符(左移运算符)

“<<”是双目运算符。左移n位就是乘以2的n次方。 其功能把“<<”左边的运算数的各二进位全部左移若干位,由“<<”右边的数指定移动的位数,高位丢弃,低位补0

例: a<<4 指把a的各二进位向左移动4位。如a=00000011(十进制3),左移4位后为00110000(十进制48)。 3*2*2*2*2=48

6. >> 操作符(右移运算符)

“>>”是双目运算符。右移n位就是除以2的n次方,其功能是把“>>”左边的运算数的各二进位全部右移若干位,“>>”右边的数指定移动的位数。

例: a<<4 指把a的各二进位向左移动4位。如a=00110000(十进制3),左移4位后为00000011(十进制48)。 48/2/2/2/2=3

二:&&与||

&&(逻辑与) 、 ||(逻辑或) :

作用:进行多项比较并将结果组合为单一的布尔值。同时&&(逻辑与) 和 ||(逻辑或) 又是短路操作符,即左边的表达式为假时,将不再执行右边的表式。

规律: &&(逻辑与) ,全真才为真 ; ||(逻辑或),有真则为真。

&&(逻辑与):两边必须是boolean,只要左边为假,右边的就不会在继续执行.

例如:

9&&5=1,9||5=1,9&&0=0,9||0=1
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  操作符 位操作符