文章内容发布于 637 天前;最后修改于 637 日前。其中的信息可能发生变化或产生更改,敬请留意。
05-3 位运算符-异或
异或的运算符的是:^,会按照二进制的方式运算。其运算规则如下:
0^0=0;0^1=1;1^0=1;1^1=0;
异为1,同为0。(相同为假,相异为真)
我们来举一个例子试试:
-
例1
#includeusing 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 0 -
例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 86 00110010 01100100 01010110在这里,我们创建了两个
int的数据类型,其中,a的值为 50,b的值为 100。c是a和b异或的产物。我们将
a、b和c的二进制表达方式打印出来,可以看到,异或,只有两个相同位置上都是0或者都是1才能在结果的同位上得出0,否则,得出的是1。最后,再将二进制的
c还原成十进制,即结果:86。
总结:异为1,同为0。(相同为假,相异为真)