位運算是直接對二進制進行計算
左移 <<
右移 >>
先把整數換成四個8bit 0000-0000 0000-0000 0000-0000 0000-0000
這個二進制左右移動,移除來的那頭用0補齊
規律:
6<<3意思就是 6乘以2的3次方
6>>3意思就是6除以2的3次方
& 與運算
| 或運算
^ 異或運算
先把十進制整數轉成二進制,兩個數上下對應
6&3 意思就是,對應位置一致,都是1就得1,其他的都是0
6|3 意思就是,對應位置一致,只要有1就是1,都是0才得0
6^3 意思就是,對應位置一致,上下相同的得0,不同的得1
110
011&與運算
010 =2
110
011 |或運算
111 =7
110
011^異或
101 =5
這些位運算可以用來做加密功能
public class VariableDemo { /** * @param args */ public static void main(String[] args) { System.out.println(6<<3);//輸出48 System.out.println(6>>3);//輸出 0 System.out.println(6&3);//輸出 2 System.out.println(6|3);//輸出 7 System.out.println(6^3);//輸出 5 } }