什麼是異或運算有哪些作用
異或是一個數學運算子,它應用於邏輯運算。那麼你對異或運算了解多少呢?以下是由小編整理關於什麼是異或運算的內容,希望大家喜歡!
異或運算的概念
異或,英文為exclusive OR,或縮寫成xor
異或的數學符號為“⊕”,計算機符號為“xor”。其運演算法則為:
a⊕b = ***¬a ∧ b*** ∨ ***a ∧¬b***
如果a、b兩個值不相同,則異或結果為1。如果a、b兩個值相同,異或結果為0。
異或也叫半加運算,其運演算法則相當於不帶進位的二進位制加法:二進位制下用1表示真,0表示假,則異或的運演算法則為:0⊕0=0,1⊕0=1,0⊕1=1,1⊕1=0***同為0,異為1***,這些法則與加法是相同的,只是不帶進位。
異或略稱為XOR、EOR、EX-OR
程式中有三種演運算元:XOR、xor、⊕。
使用方法如下
z = x ⊕ y
z = x xor y
異或運算的運演算法則
1. a ⊕ a = 0
2. a ⊕ b = b ⊕ a
3. a ⊕b ⊕ c = a ⊕ ***b ⊕ c*** = ***a ⊕ b*** ⊕ c;
4. d = a ⊕ b ⊕ c 可以推出 a = d ⊕ b ⊕ c.
5. a ⊕ b ⊕ a = b.
6.若x是二進位制數0101,y是二進位制數1011
則x⊕y=1110
只有在兩個比較的位不同時其結果是1,否則結果為0
即“兩個輸入相同時為0,不同則為1”!
異或運算的作用
在計算機中普遍運用,異或***xor***的邏輯符號一般用xor,也有用⊕的:
真⊕假=真
假⊕真=真
假⊕假=假
真⊕真=假
或者為:
True ⊕ False = True
False ⊕ True = True
False ⊕ False = False
True ⊕ True = False
異或運算的巧用
與其它語言不同,C語言和C++語言的異或不用xor,而是用“^”,鍵入方式為Shift+6。***而其它語言的“^”一般表示乘方***
若需要交換兩個變數的值,除了通常使用的借用中間變數進行交換外,還可以利用異或,僅使用兩個變數進行交換,如:
a=a^b;
b=b^a;
a=a^b;
詳解:
a1=a^b
b=b^a1=b^a^b=a
//此時a1=a^b
a=a1^b=a^b^a=b
注意:
a=a^b^***b=a***;//此類形式是不正確的UB行為,在不同編譯器中會有不同的結果,切勿使用
這樣就完成了a與b的交換。
綜上:同一變數與另一變數和其異或值異或等於自身。
用例:可使用於加密演算法某一環節或更多環節,使演算法更復雜,不易被破解,安全性更高。
異或運算的作用
- 什麼是異或運算有哪些作用
- 關於小學三年級禁毒手抄報模板設計
- 十二星座之摩羯座桌布
- 現代混搭風格裝修效果圖欣賞
- 大學生德智體美勞自我評價_大學生綜合測評表的自我評價
- 心理健康活動課設計方案
- 天熱的搞笑簽名
- 食用小南瓜有什麼要注意的
- 大學軍訓的心得體會怎麼寫
- 銀行員工試用期滿的自我鑑定
- 女鞋個性設計宣傳海報圖片
- 簡單的二人英語對話精選
- 路由器怎麼檢視區域網的網速
- 文化傳統一年級手抄報小學
- 家電維修服務業管理制度範本
- 寫給朋友的一封書信作文
- 關於生活的唯美勵志座右銘大全
- 適合青年閱讀的勵志好書籍
- 夢見一家人打老鼠是什麼意思
- 下學期高三語文期中考試試卷題
- 康熙字典五行屬金的字
- 康熙字典五行屬木的字
- 康熙字典五行屬水的字
- 康熙字典五行屬火的字
- 康熙字典五行屬土的字