以前上學時學習「異或」,雖然也學的很明白,但是基本是靠「相異則取或」的口訣去背的真值表,一直沒有很好的理解「異或」到底代表什麼含義。今天看《程式設計師的數學》一書時看到了關於「異或」的很好的解釋。
「異或」的英文是「exclusive or」,即「排他性的或」。什麼是排他性的或?舉了乙個**於生活的例子「他現在在東京或者大阪」,他現在不可能同時在東京和大阪,只能在其中的某乙個,這就是排他性的「或」。與之相對的是普通的「或(or)」,例如:"停電或者停水時無法**熱水"。
其實國內的數學教學都是這樣,沒有講清楚數學公式、定理的**、背後的實際意義和應用。
關於異或(XOR)的有趣應用
異或是個非常有意思的東西,利用異或的性質我們可以做一些有意思的事情。異或加密解密 下面是乙個非常簡單的加密解密函式 public static string encryption string srcstring,char key return new string srcchars 給出測試 st...
關於區間異或的線段樹
題 題意 倆個操作,操作1 l,r,x 區間 l,r 的數全部異或上x。操作2 l r 輸出區間 l,r 和 分析 對陣列a建線段樹,對於線段樹的每乙個節點進行二進位制拆位,每個位就統計有多少個1,更新操作對於涵蓋區間的二進位制位就等於其長度減去更新前的1的個數 includeusing names...
異或運算 有趣的異或運算
異或運算可以看做是沒有進製的加法,按位異或運算,相同為0,不同為1。0 0 0 0 1 1 1 0 1 1 1 0 觀察運算結果我們發現,當與0做異或運算時,另一元值不變 而與1做異或運算時,另一元值值取反。根據以上異或運算的特徵,可以有以下用途,除方便直觀外,運算效能也更加優異。1 變數重置0 假...