位運算異或^的奇技淫巧

2022-12-07 16:03:52 來源:51CTO博客

^異或的性質

1、交換律a^b==b^a

2、結合律 (a^b)^c==a^(b^c)

3、對于任何數x,都有x^x=0,x^0=x,同自己求異或為0,同0異或為自己


(資料圖片)

4、A^A^B=B,連續和同一個因子做異或運算,最終結果為自己!

異或^的例題

一、找出唯一成對的數

思路:

本題只有一個數是成對的,其余數全部單獨出現。因此我們可以讓這1001個數自己跟自己^,此時單獨的數全部成對,而唯一成雙的數變成了3個數,,此時根據異或運算的性質,成雙的數全部變成0;只有奇數個數,異或后才是自己

編程實現:

首先需要按照題目要求創建一個數組存放1~1000的數,且需要重復一個,可以利用生成隨機數實現。

接著利用循環,將數組的數兩次^

二、找出唯一落單的數

將所有成員進行^,相對第一道題更加簡單

標簽: 奇技淫巧 可以利用 題目要求

上一篇:各開發語言DNS緩存配置建議
下一篇:觀點:PowerScript語法參考手冊之數據類型