文章内容发布于 649 天前;最后修改于 649 日前。其中的信息可能发生变化或产生更改,敬请留意。
05-1 位运算符-按位与
按位与的运算符的是:&,会按照二进制的方式运算。其运算规则如下:
0&0=0;0&1=0;1&0=0;1&1=1;
同1为1,其余为0。(同真为真,其余为假。)
我们来举个例子试一下:
-
例1
#includeusing 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。(同真为真,其余为假。)