在Java中,整數(shù)的位運算可以使用以下方法進行:
與操作(&):將兩個數(shù)的對應(yīng)位進行與運算,結(jié)果為1的位表示兩個數(shù)對應(yīng)位置上都為1,否則為0。
或操作(|):將兩個數(shù)的對應(yīng)位進行或運算,結(jié)果為1的位表示兩個數(shù)對應(yīng)位置上至少有一個為1,否則為0。
非操作(~):對一個數(shù)進行按位取反操作,即將每一位的0變?yōu)?,1變?yōu)?。
異或操作(^):將兩個數(shù)的對應(yīng)位進行異或運算,結(jié)果為1的位表示兩個數(shù)對應(yīng)位置上不相同,否則為0。
左移操作(<<):將一個數(shù)的所有位向左移動指定的位數(shù),左移n位相當(dāng)于乘以2的n次方。
右移操作(>>):將一個數(shù)的所有位向右移動指定的位數(shù),右移n位相當(dāng)于除以2的n次方,但是采用的是向下取整的方式。
無符號右移(>>>):將一個數(shù)的所有位向右移動指定的位數(shù),右移n位,空出的位置補0。