C的邏輯運算子

2021-07-26 00:10:33 字數 1312 閱讀 8637

位邏輯運算子

一、取反~

一元運算子~將每個1變為0,將0變為1。例如:~(10011010)//表示式

(01100101)//結果值

假設val是乙個unsigned char,已賦值為2.在二進位制中,2是00000010.於是~val的值是11111101或253.該運算子不改變val的值。

二、位與(and):&

二進位制運算子&通過對兩個運算元逐位進行比較產生乙個新值。對於每個位,只有兩個操作 的對應位都為1時結果才為1。例如:(10010011)&(00111101)//表示式

(00010001) //結果值

組合位與賦值運算子:&=。下面兩個語句產生相同的最終結果:

val &=0377;

val=val & 0377;

三、位或(or):|

二進位制運算子|通過對兩個運算元逐位進行比較產生乙個新值。對於每個位,如果其中任意運算元對應位為1時結果就為1。例如:(10010011)|(00111101)//表示式

(10111111)//結果值

組合位或賦值運算子:|=。下面兩個語句產生相同的最終結果:

val |=0377;

val=val | 0377;

四、位異或:^

二進位制運算子^對兩個運算元逐位進行比較。對於每個位,如果運算元中的對應位有乙個為1(但是不都為1),那麼結果為1。例如:(10010011)^(00111101)//表示式

(10101110)//結果值

組合位異或賦值運算子:^=。下面兩個語句產生相同的最終結果:

val ^=0377;

val=val ^ 0377;

邏輯運算子( , )

操作!是的 運算子不執行布林操作,有只有乙個運算元,位於其權利,和唯一,它確實是逆是它的價值,生產假如果真實,真實的,如果其運算元其運算元為false。基本上,它返回布林值,評價其運算元相反。例如 1 2 3 4 5 5 evaluates to false because the expressi...

邏輯運算子

邏輯運算子 符號 作用 符號 作用 或and 與 或 not 非 或or 或 xor 異或 與 運算 1 或者 and 是 與 運算的兩種表達方式。如果所有資料不為0且不為空值 null 則結果返回1 如果存在任何乙個資料為0,則結果返回0 如果存在乙個資料null且沒有資料為0,結果返回null。...

邏輯運算子

邏輯與 當兩個運算元的值都為true時,運算結果為true 邏輯或 只要兩個運算元中有乙個值為true時,運算結果就為true 邏輯非 對運算元取反,即true值非運算的結果false,false值非運算的結果為true 案例 test1 var a 1,b 0,c hello a b c worl...