異或 的一些用法

2022-05-09 02:39:09 字數 641 閱讀 1789

異或是位運算,當且僅當兩邊相等時為真

即1^1 = 0^0 = 1;

1^0 = 0^1 = 0;

異或有很多有用且快速的用法。

①交換兩個數

a = 10, b = 5

經過下面操作

1 a ^=b

2 b ^=a

3 a ^= b

輸出a = 5, b = 10

②判斷二進位制數中1的個數

例如:a = 1010,利用a ^= (a - 1)每次能去掉最右邊那個1,迴圈n次a ^= (a - 1) 後a 就會等於0000即a=0, 則原來a中一共有n個1

③翻轉特定位,保留特定位

例如:a = 11110000,我想把前4位翻轉(即0變為1,1變為0),則只需a^11110000異或運算,a就會變為00000000

a = 11110000,我想保留前4位不變,即a ^ 00000000,a不變

④(感覺比較方便)偶數+1,奇數-1

a = 0, b = 9;

a ^= 1

b ^= 1

輸出a = 1, b = 8

異或的用法

異或的性質 1.異或的本質是 無進製相加 相同為0,不同為1 2.異或的性質 a a 0,a 0 a 以及交換律,結合率 異或的新用法 1.不占用額外空間的交換位置ab 2.乙個陣列中乙個數出現奇數次,其他數出現偶數次,通過異或找到該奇數次的數 偽 a n auto eor 0 for i from...

一些異或運算以及掩碼的奇技淫巧

1 乙個數和自己做異或的結果是0。如果需要乙個常數0,x86平台的編譯器可能會生成這樣的指令 xorl eax,eax。不管eax暫存器裡的值原來是多少,做異或運算都能得到0,這條指令比同樣效果的movl 0,eax指令快。2 從異或的真值表可以看出,不管是0還是1,和0做異或值不變,和1做異或得到...

的一些用法

action標籤,顧名思義,是用來呼叫action的標籤,在jsp中頁面中,可以具體指定某一命名空間中的某一action。而標籤的主體用於顯示及渲染actionr的處理結果。action標籤有如下幾個屬性 id 可選屬性,作為該action的引用id name 必選屬性,指定呼叫action nam...