c 语言 按位与或非运算符,C++中的按位与&、按位与或|、按位异或^运算符详解

按位与运算符:&

语法

expression

&

expression

备注

表达式可以是其他“与”表达式,或(遵循下面所述的类型限制)相等表达式、关系表达式、加法表达式、乘法表达式、指向成员的指针表达式、强制转换表达式、一元表达式、后缀表达式或主表达式。

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

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

& 的运算符关键字

bitand 运算符是 & 的文本等效项。访问程序中的 bitand 运算符的方式有两种:包括头文件 iso646.h,或使用 /Za(禁用语言扩展)编译器选项进行编译。

// expre_Bitwise_AND_Operator.cpp

// compile with: /EHsc

// Demonstrate bitwise AND

#include

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

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

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 ...

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值