1. 程式人生 > >位運算的特殊運用

位運算的特殊運用

font 掌握 一個數 個數 pan nbsp 異或 二進制位 位數

位運算的特殊運用

位運算主要有。&。|。~,^等幾種。這幾種在編程方面能極大地優化程序,所以掌握他們勢在必行,所以就總計一下。

&:

主要能夠用來求某數的當中一個二進制位。經常使用的有求某個數轉化為二進制後的最後一位。

能夠用 a&(-a)進行高速求解

|:

能夠將某個數轉化為二進制後的某些位設為1,通過該數與想要對應位數為1其它位為零的數進行或運算就可以

~:

能夠間接轉化某個數:如:求32位的最大值。

能夠用~0u=2^32-1;

^:

異或則能夠用來不借助中間變量來實現兩個數的交換。還能夠將一個數的某些位取反

比如:交換a和b 能夠用 a=a^b;b=b^a;a=a^b;(另一種方法。就是a=a+b;b=a-b;a=a-b;也能實現不借助中間變量來實現兩者的轉化)。

位運算的特殊運用