按位與運算符:&
語法
expression & expression
備注
表達式可以是其他“與”表達式,或(遵循下面所述的類型限制)相等表達式、關系表達式、加法表達式、乘法表達式、指向成員的指針表達式、強制轉換表達式、一元表達式、后綴表達式或主表達式。
按位“與”運算符 (&) 會將第一操作數的每一位與第二操作數的相應位進行比較。如果兩個位均為 1,則對應的結果位將設置為 1。否則,將對應的結果位設置為 0。
按位“與”運算符的兩個操作數必須為整型。 算術轉換中所述的常用算術轉換將應用于操作數。
& 的運算符關鍵字
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
備注
按位“與或”運算符 (|) 將第一個操作數的每個位與第二個操作數的對應位進行比較。如果其中一個位是 1,則將對應的結果位設置為 1。否則,將對應的結果位設置為 0。
按位“與或”運算符的兩個操作數必須為整型。 算術轉換中涵蓋的常用算術轉換適用于操作數。
| 的運算符關鍵字
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
按位“異或”運算符 (^) 將第一操作數的每個位與第二操作數的相應位進行比較。如果一個位是 0,另一個位是 1,則相應的結果位將設置為 1。否則,將對應的結果位設置為 0。
按位“異或”運算符的兩個操作數都必須為整型。 算術轉換中涵蓋的常用算術轉換適用于操作數。
^ 的運算符關鍵字
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 ...}