C++中的按位與&、按位與或|、按位異或^運算符詳解
按位與運算符:&
語法
expression & expression
備注
表達式可以是其他“與”表達式,或(遵循下面所述的類型限制)相等表達式、關系表達式、加法表達式、乘法表達式、指向成員的指針表達式、強制轉換表達式、一元表達式、后綴表達式或主表達式。
按位“與”運算符 (&) 會將第一操作數(shù)的每一位與第二操作數(shù)的相應位進行比較。如果兩個位均為 1,則對應的結果位將設置為 1。否則,將對應的結果位設置為 0。
按位“與”運算符的兩個操作數(shù)必須為整型。 算術轉換中所述的常用算術轉換將應用于操作數(shù)。
& 的運算符關鍵字
bitand 運算符是 & 的文本等效項。訪問程序中的 bitand 運算符的方式有兩種:包括頭文件 iso646.h,或使用 /Za(禁用語言擴展)編譯器選項進行編譯。
// expre_Bitwise_AND_Operator.cpp // compile with: /EHsc // Demonstrate bitwise AND #include <iostream> using namespace std; int main() { unsigned short a = 0xFFFF; // pattern 1111 ... unsigned short b = 0xAAAA; // pattern 1010 ... cout << hex << ( a & b ) << endl; // prints "aaaa", pattern 1010 ... }
按位與或運算符:|
語法
expression | expression
備注
按位“與或”運算符 (|) 將第一個操作數(shù)的每個位與第二個操作數(shù)的對應位進行比較。如果其中一個位是 1,則將對應的結果位設置為 1。否則,將對應的結果位設置為 0。
按位“與或”運算符的兩個操作數(shù)必須為整型。 算術轉換中涵蓋的常用算術轉換適用于操作數(shù)。
| 的運算符關鍵字
bitor 運算符是|的文本等效項。訪問程序中的 bitor 運算符有兩種方式:包括頭文件 iso646.h,或使用 /Za(禁用語言擴展)編譯器選項進行編譯。
// expre_Bitwise_Inclusive_OR_Operator.cpp // compile with: /EHsc // Demonstrate bitwise inclusive OR #include <iostream> using namespace std; int main() { unsigned short a = 0x5555; // pattern 0101 ... unsigned short b = 0xAAAA; // pattern 1010 ... cout << hex << ( a | b ) << endl; // prints "ffff" pattern 1111 ... }
按位異或運算符:^
語法
expression ^ expression
按位“異或”運算符 (^) 將第一操作數(shù)的每個位與第二操作數(shù)的相應位進行比較。如果一個位是 0,另一個位是 1,則相應的結果位將設置為 1。否則,將對應的結果位設置為 0。
按位“異或”運算符的兩個操作數(shù)都必須為整型。 算術轉換中涵蓋的常用算術轉換適用于操作數(shù)。
^ 的運算符關鍵字
xor 運算符是與 ^ 等效的文本。在您的程序中,可通過兩種方法訪問 xor 運算符:包含頭文件 iso646.h,或使用 /Za(禁用語言擴展)編譯器選項進行編譯。
// expre_Bitwise_Exclusive_OR_Operator.cpp // compile with: /EHsc // Demonstrate bitwise exclusive OR #include <iostream> using namespace std; int main() { unsigned short a = 0x5555; // pattern 0101 ... unsigned short b = 0xFFFF; // pattern 1111 ... cout << hex << ( a ^ b ) << endl; // prints "aaaa" pattern 1010 ... }
相關文章
Linux下實現(xiàn)C++操作Mysql數(shù)據(jù)庫
由于工作需要抽出一周的時間來研究C/C++訪問各種數(shù)據(jù)庫的方法,并打算封裝一套數(shù)據(jù)庫操作類,現(xiàn)在奉上最簡單的一部分:在Linux下訪問MySQL數(shù)據(jù)庫。2017-05-05C++中實現(xiàn)fibonacci數(shù)列的幾種方法
本文主要介紹了C++中實現(xiàn)fibonacci數(shù)列的幾種方法,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-01-01C語言strlen和sizeof在數(shù)組中的使用詳解
對于 strlen 和 sizeof,相信不少程序員會混淆其功能。雖然從表面上看它們都可以求字符串的長度,但二者卻存在著許多不同之處及本質(zhì)區(qū)別2021-10-10C++多線程實現(xiàn)TCP服務器端同時和多個客戶端通信
通訊建立后首先由服務器端發(fā)送消息,客戶端接收消息;接著客戶端發(fā)送消息,服務器端接收消息,實現(xiàn)交互發(fā)送消息。本文主要介紹了C++多線程實現(xiàn)TCP服務器端同時和多個客戶端通信,感興趣的可以了解一下2021-05-05教你如何使用qt quick-PathView實現(xiàn)好看的home界面
pathView的使用類似與ListView,都需要模型(model)和代理(delegate),只不過pathView多了一個路徑(path)屬性,顧名思義路徑就是item滑動的路徑,下面給大家分享qt quick-PathView實現(xiàn)好看的home界面,一起看看吧2021-06-06C++實現(xiàn)LeetCode(18.四數(shù)之和)
這篇文章主要介紹了C++實現(xiàn)LeetCode(18.四數(shù)之和),本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下2021-07-07