按位“与”运算符:&

语法

and-expression
equality-expression
and-expression & equality-expression

备注

按位“与”运算符 (&) 会将第一操作数的每一位与第二操作数的相应位进行比较。 如果两个位均为 1,则对应的结果位将设置为 1。 否则,将对应的结果位设置为 0。

按位“与”运算符的两个操作数必须为整型类型。 标准转换中所述的常用算术转换将应用于操作数。

& 的运算符关键字

C++ 将 bitand 指定为 & 的备选拼写。 在 C 中,备选拼写在 <iso646.h> 标头中作为宏提供。 在 C++ 中,备选拼写是关键字;已弃用 <iso646.h> 或 C++ 等效的 <ciso646>。 在 Microsoft C++ 中,需要 /permissive-/Za 编译器选项才能启用备选拼写。

示例

// expre_Bitwise_AND_Operator.cpp
// compile with: /EHsc
// Demonstrate bitwise AND
#include <iostream>
using namespace std;
int main() {
   unsigned short a = 0xCCCC;      // pattern 1100 ...
   unsigned short b = 0xAAAA;      // pattern 1010 ...

   cout  << hex << ( a & b ) << endl;   // prints "8888", pattern 1000 ...
}

另请参阅

C++ 内置运算符、优先级和关联性
C 按位运算符