1 #include<iostream>
2 #include<bitset>
3 using namespace std;
4 int main( )
5 {
6 bitset<8> b1(39);
7 bitset<8> b2 = ~ b1;
8 cout << "‘~’位求反操作符" << endl;
9 cout << b1 << endl;
10 cout << b2 << endl;
11 cout << endl; //将1变成0,将0变成1。
12 cout << "'<<'左移,‘>>’右移操作符" << endl;
13 bitset<8> b3(78);
14 cout << b3 << endl;
15 b3 = b3 << 2;
16 cout << b3 << endl;
17 b3 = b3 >> 2;
18 cout << b3 << endl;
19 cout << endl; //向左或向右移位,用0来补充空位。
20 bitset<8> b4(115);
21 bitset<8> b5 = b1 & b4;
22 bitset<8> b6 = b1 ^ b4;
23 bitset<8> b7 = b1 | b4;
24 cout << "'&'位与操作符" << endl;
25 cout << b1 << endl;
26 cout << b4 << endl;
27 cout << b5 << endl;
28 cout << endl; //两个操作数对应的位置都为1,结果为1,否则为0。
29 cout << "'^'位异或操作符" << endl;
30 cout << b1 << endl;
31 cout << b4 << endl;
32 cout << b6 << endl;
33 cout << endl; //两个操作数对应的位置如果只有一个(不是两个)1,结果为1,否则为0;
34 cout << "'|'位或操作符" << endl;
35 cout << b1 << endl;
36 cout << b4 << endl;
37 cout << b7 << endl; //两个操作数对应的位置如果有1,结果为1,否则为0。
38 return 0;
39 }