close
位移運算子 Shift Operators 在處理位元時會用到
主要有3個
<< x<<y 將x的位元左移y個單位,最右邊補上0, 相當於*2的概念, 遇到資料大小不夠時會自動轉型
>> x>>y 將x的位元右移y個單位,最左邊補上原來最左邊的位元值, 相當於/2的概念
>>> x>>>y 將x的位元右移y個單位,最左邊補上0
1. 官網https://docs.oracle.com/javase/tutorial/java/nutsandbolts/opsummary.html
2. 簡單的範例
//結果 0x0000 0010 相當於乘2
System.out.printf("0x%x\n", 1 << 1);
//結果 0x0000 0000 相當於機算機的除2
System.out.printf("0x%x\n", 1 >> 1);
//左邊補上原來最左邊的位元值, 相當於/2的概念
System.out.printf("0x%x\n", -1 >> 1);
//左邊補上0其他向右位移
System.out.printf("0x%x\n", -1 >>> 1);
3. 結果顯是
0x2
0x0
0xffffffff
0x7fffffff
文章標籤
全站熱搜
留言列表