C++中的按位与&、按位与或|、按位异或^运算符详解

C++中的按位与&、按位与或|、按位异或^运算符详解,第1张

概述按位与运算符:&语法expression&expression备注表达式可以是其他“与”表达式,或(遵循下面所述的类型限制)相等表达式、关系表达式、加法表达式、乘法表达式、指向成员的指针表达式、强制转换表达式、一

按位与运算符:&

语法

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 ...}
总结

以上是内存溢出为你收集整理的C++中的按位与&、按位与或|、按位异或^运算符详解全部内容,希望文章能够帮你解决C++中的按位与&、按位与或|、按位异或^运算符详解所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1249795.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-07
下一篇 2022-06-07

发表评论

登录后才能评论

评论列表(0条)

保存