关于c语言的位运算&,|,^(看懂汉字的都能看懂)

其中|,&可以当作逻辑运算符,当|,&当成逻辑运算符时,与||,&&的用法基本相似,&&,||运算时会当前面的表达式能够决定整个表达式,则不进行对后面的判断,如:1&&1,1||0,当表达式前面的已经决定了整个表达式,则不需要进行判断后面的表达式的真假,而|,&无论前面的表达式的真伪,都要对后面进行判断。故由此也可以看出在进行逻辑运算是二者的差异,效率!谁优谁劣,当然能看出。

既然说到位运算,就是对式子进行逐位运算,那就说下运算规则,1|0=1,0|1=1,1|1=1,0|0=0,由此类比与数电的或门,

同理&类比于数电的与门。而异或^就是如果相同位上的值相同,则为0,否则,为1.

说了这么多

给大家出个小题做一下

#include<cstdio>
#include<iostream>
#include<algorithm>
#include<string>
using namespace std;
int main()
{
   int a=6,b=3;
   cout<<a|b<<“ “<<a&b<<“ “<<a^b<<endl;
}

如果你不知道答案,请自己运行一下子^ - ^ 

猜你喜欢

转载自blog.csdn.net/lbperfect123/article/details/83385805
今日推荐