Java特殊符合

^

^符號是位邏輯運算符裏的按位異或zd,只有在兩個比較版的位不同時結果權是1,否則爲0

例 9^2=11

9 二進制:1 0 0 1
2 二進制:0 0 1 0
9^2 結果: 1 0 1 1 轉換爲十進制:8+2+1=11

例 11^2=9

11 二進制:1 0 1 1
2 二進制:0 0 1 0
9^2 結果: 1 0 0 1 轉換爲十進制:8+1=9

<<  

左移運算符

n << 1 相當於 n * 2

n << 2 相當於 n * 2 * 2

 for(int i = 1;i< 32; i++){
     System.out.println("i  = " + i + "   " + (2 << i));
 }

輸出
i  = 1   4
i  = 2   8
i  = 3   16
i  = 4   32
i  = 5   64
i  = 6   128
i  = 7   256
i  = 8   512
i  = 9   1024
i  = 10   2048
i  = 11   4096
i  = 12   8192
i  = 13   16384
i  = 14   32768
i  = 15   65536
i  = 16   131072
i  = 17   262144
i  = 18   524288
i  = 19   1048576
i  = 20   2097152
i  = 21   4194304
i  = 22   8388608
i  = 23   16777216
i  = 24   33554432
i  = 25   67108864
i  = 26   134217728
i  = 27   268435456
i  = 28   536870912
i  = 29   1073741824
i  = 30   -2147483648
i  = 31   0
i  = 32   2

>>   

右移運算符

n  >> 1 相當於 n / 2

n  >> 1 相當於 n / 2 / 2

其中 

2 >> 1 等於 1

2 >> 2 等於 0

>>>  

無符號右移,忽略符號位,高位都以0補齊,無符號右移運算符>>> 只是對32位和64位的值有意義

1 >>> 1  爲 0001 → 0000 等於0

2 >>> 1 爲 0010 → 0001 等於1

2 >>> 2 爲 0010 → 0000 等於0

&

與運算 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章