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