05-2 位运算符-按位或
按位或的运算符的是:|
,会按照二进制的方式运算。其运算规则如下:
0|0=0;
0|1=1;
1|0=1;
1|1=1;
同0
为0
,其余为1
。(同假为假,其余为真)
我们来举个例子试一下:
-
例1
#include
using namespace std; int main() { cout << (0 | 0) << endl; cout << (0 | 1) << endl; cout << (1 | 0) << endl; cout << (1 | 1) << endl; return 0; } 运行结果:(环境:Windows11(arm/Apple M VM)/Visual Studio 2022/Debug/arm64)
0 1 1 1
-
例2
#include
#include "T2" using namespace std; int main() { int a = 50; int b = 100; int c = a | b; cout << a << endl; cout << b << endl; cout << c << endl; T2(a); T2(b); T2(c); return 0; } 运行结果:(环境:Windows11(arm/Apple M VM)/Visual Studio 2022/Debug/arm64)
50 100 118 00110010 01100100 01110110
在这里,我们创建了两个
int
的数据类型,其中,a
的值为 50,b
的值为 100。c
是a
和b
按位或的产物。我们将
a
、b
和c
的二进制表达方式打印出来,可以看到,按位或,只有两个相同位置上都是0
,才会在结果的相同位置上得出0
,否则,只有1
。最后,再将二进制的
c
还原成十进制,即结果:118
。
总结:同0
为0
,其余为1
。(同假为假,其余为真)
:-)