1. 程式人生 > >關於c語言的位運算&,|,^(看懂漢字的都能看懂)

關於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;
}

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