自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

聊一聊C++中的位操作符

開發(fā) 后端
在C++中,有六個位操作符,這些運算符可以用于整數(shù)類型的變量,例如int、char、short、long等。

一、概述

C++中,位操作符是一種對二進(jìn)制位進(jìn)行操作的運算符,用于對二進(jìn)制數(shù)進(jìn)行位移、與、或、異或等操作。在C++中,有6個位操作符,包括左移運算符(<<)、右移運算符(>>)、按位與運算符(&)、按位或運算符(|)、按位異或運算符(^)和按位取反運算符(~)。這些運算符可以用于整數(shù)類型的變量,例如int、char、short、long等。

二、左移和右移運算符

左移運算符(<<)將一個數(shù)的二進(jìn)制位向左移動指定的位數(shù),右邊用0填充。例如,將二進(jìn)制數(shù)1010左移2位后,變?yōu)?01000。右移運算符(>>)將一個數(shù)的二進(jìn)制位向右移動指定的位數(shù),左邊用0填充。例如,將二進(jìn)制數(shù)1010右移2位后,變?yōu)?0。

示例代碼:

#include <iostream>  
using namespace std;  
  
int main() {  
   int num1 = 10;  // binary: 1010  
   int num2 = num1 << 2;  // left shift 2 bits, binary: 101000  
   int num3 = num1 >> 2;  // right shift 2 bits, binary: 10  
   cout << "num2: " << num2 << endl;  
   cout << "num3: " << num3 << endl;  
   return 0;  
}

三、按位與運算符

按位與運算符(&)對兩個數(shù)的二進(jìn)制位進(jìn)行與操作,即兩個相應(yīng)的二進(jìn)制位都為1時,結(jié)果為1,否則為0。

示例代碼:

#include <iostream>  
using namespace std;  
  
int main() {  
   int num1 = 10;  // binary: 1010  
   int num2 = 12;  // binary: 1100  
   int result = num1 & num2;  // result binary: 1000  
   cout << "result: " << result << endl;  
   return 0;  
}

四、按位或運算符

按位或運算符(|)對兩個數(shù)的二進(jìn)制位進(jìn)行或操作,即兩個相應(yīng)的二進(jìn)制位中只要有一個為1時,結(jié)果為1,否則為0。

示例代碼:

#include <iostream>  
using namespace std;  
  
int main() {  
   int num1 = 10;  // binary: 1010  
   int num2 = 12;  // binary: 1100  
   int result = num1 | num2;  // result binary: 1110  
   cout << "result: " << result << endl;  
   return 0;  
}

五、按位異或運算符

按位異或運算符(^)對兩個數(shù)的二進(jìn)制位進(jìn)行異或操作,即兩個相應(yīng)的二進(jìn)制位有一個為1且另一個為0時,結(jié)果為1,否則為0。

示例代碼:

#include <iostream>  
using namespace std;  
  
int main() {  
   int num1 = 10;  // binary: 1010  
   int num2 = 12;  // binary: 1100  
   int result = num1 ^ num2;  // result binary: 11010  
   cout << "result: " << result << endl;  
   return 0;  
}

六、按位取反運算符

按位取反運算符(~)對一個數(shù)的二進(jìn)制位進(jìn)行取反操作,即把每個二進(jìn)制位上的1變?yōu)?,0變?yōu)?。

示例代碼:

#include <iostream>  
using namespace std;  
  
int main() {  
   int num1 = 10;  // binary: 1010  
   int result = ~num1;  // result binary: 0101  
   cout << "result: " << result << endl;  
   return 0;  
}

七、位操作符的優(yōu)先級和結(jié)合性

在C++中,位操作符的優(yōu)先級比較低,低于加減乘除等算術(shù)運算符,但高于賦值運算符。位操作符的結(jié)合性是從左到右,即先對左邊的操作數(shù)進(jìn)行操作,再對右邊的操作數(shù)進(jìn)行操作。

示例代碼:

#include <iostream>  
using namespace std;  
  
int main() {  
   int num1 = 10;  // binary: 1010  
   int num2 = 12;  // binary: 1100  
   int result = (num1 & num2) | (num1 ^ num2);  // result binary: 11110  
   cout << "result: " << result << endl;  
   return 0;  
}
責(zé)任編輯:趙寧寧 來源: 鯊魚編程
相關(guān)推薦

2022-08-30 07:39:57

C++namespace隔離

2010-01-28 11:16:28

C++操作符

2024-08-26 14:46:57

2010-01-27 11:00:17

C++操作符

2020-10-30 07:11:31

C 語言編程

2019-12-02 16:23:03

Python編程語言“垃圾”回收

2020-12-11 11:11:44

原子類JavaCAS

2020-10-23 07:00:00

C++函數(shù)

2010-01-19 13:32:20

C++操作符

2021-01-04 08:09:07

Linux內(nèi)核Watchdog

2010-01-21 09:53:23

C++操作符

2022-03-06 20:35:41

并發(fā)串行CAP

2024-10-16 15:11:58

消息隊列系統(tǒng)設(shè)計

2023-07-06 13:56:14

微軟Skype

2021-06-30 07:19:35

微服務(wù)業(yè)務(wù)MySQL

2022-11-09 08:05:15

JavaScriptsuper()

2019-12-12 14:52:10

數(shù)據(jù)庫腳本

2020-09-08 06:54:29

Java Gradle語言

2023-09-22 17:36:37

2021-01-28 22:31:33

分組密碼算法
點贊
收藏

51CTO技術(shù)棧公眾號