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

C++按位运算符

2015-10-24 14:05 309 查看
位运算是指按二进制进行的运算。在程序中,常常需要处理二进制位的问题。C/C++语言提供了6个位操作运算符。这些运算符只能用于整型操作数,即只能用于带符号或无符号的char,short,int与long类型。在实际应用中,建议用unsigned整型操作数,因为带符号操作数可能因为不同机器结果不同。

C/C++位操作运算符

操作符功能用法
~位求反~expr
<<左移expr1 << expr2
>>右移expr1 >> expr2
&位与expr1 & expr2
^位异或expr1 ^ expr2
|位或expr1 | expr2
0&0=0;

0&1=0;

1&0=0;

1&1=1;

也就是

&01
000
101
另外还有两个

|01
001
111
^01
001
110
<<左移操作,每移一位就相当于乘以2,例如13<<3 == 13*(2的3次方)

>>右移操作,相当于除以2

左移右移都不会改变自身的数值

#include<iostream>
#include<vector>
using namespace std;
int main()
{
int a = 43;
cout << (a >> 2) << endl;//必须用括号括起来
cout << a << endl;
//a>>2相当于a/(2的2次方)==a/4==43/4

/*
10
43
*/

return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: