異或運算法則:相同為0,不同為1
異或運算子∧也稱xor運算子。
它的規則是若參加運算的兩個二進位同號,則結果為0(假);異號則為1(真)。
即0∧0=0,0∧1=1,1∧1=0。如: 即071∧052,結果為023(八進位制數)。
「異或」的意思是判斷兩個相應的位值是否為「異」,為「異」(值不同)就取真(1),否則為(0)。
下面舉例說明∧運算子的應用:
(1)與1相∧,使特定位翻轉
假設有01111010,想使其低4位翻轉,即1變為0,0變為1。可以將它與00001111進行∧運算,即
結果值的低4位正好是原數低4位的翻轉。要使哪幾位翻轉就將與其∧運算的該幾位置為1即可。這是因為原數中值為1的位與1進行∧運算得0,原數中的位值0與1進行∧運算的結果得1。
(2)與0相∧,保留原值
如012∧00=012
因為原數中的1與0進行∧運算得1,0∧0得0,故保留原數。
(3)交換兩個值,不用臨時變數
假如a=3,b=4。想將a和b的值互換,可以用以下賦值語句實現:
a=a∧b;
b=b∧a;
a=a∧b;
可以用下面的豎式來說明,即等效於以下兩步:
① 執行前兩個賦值語句:「a=a∧b;」和「b=b∧a;」相當於b=b∧(a∧b)。而b∧a∧b等於a∧b∧b。b∧b的結果為0,因為同乙個數與本身相∧,結果必為0。因此b的值等於a∧0,即a,其值為3。
② 再執行第三個賦值語句:a=a∧b。由於a的值等於(a∧b),b的值等於(b∧a∧b),因此,相當於a=a∧b∧b∧a∧b,即a的值等於a∧a∧b∧b∧b,等於b。
a得到b原來的值。
異或運算的作用
參與運算的兩個值,如果兩個相應bit位相同,則結果為0,否則為1。即 0 0 0,1 0 1,0 1 1,1 1 0 按位異或的3個特點 1 0 0 0,0 1 1 0異或任何數 任何數 2 1 0 1,1 1 0 1異或任何數 任何數取反 3 任何數異或自己 把自己置0 按位異或的幾個常見用途 1...
異或「 」運算的作用
異或運算子 也稱xor運算子。它的規則是若參加運算的兩個二進位同號,則結果為0 假 異號則為1 真 即0 0 0,0 1 1,1 1 0。如 即071 052,結果為023 八進位制數 異或 的意思是判斷兩個相應的位值是否為 異 為 異 值不同 就取真 1 否則為 0 下面舉例說明 運算子的應用 1...
異或運算 有趣的異或運算
異或運算可以看做是沒有進製的加法,按位異或運算,相同為0,不同為1。0 0 0 0 1 1 1 0 1 1 1 0 觀察運算結果我們發現,當與0做異或運算時,另一元值不變 而與1做異或運算時,另一元值值取反。根據以上異或運算的特徵,可以有以下用途,除方便直觀外,運算效能也更加優異。1 變數重置0 假...