位運算與移位運算
阿新 • • 發佈:2022-03-03
位運算子
位運算指的是進行二進位制位的運算
位運算子 | 說明 |
---|---|
~ | 取反 |
& | 按位與 |
| | 按位或 |
^ | 按位異或 |
<< | 左移運算子,左移一位等於乘二 |
>> | 右移運算子,右移一位相當於除2取商 |
按位取反、按位與、按位或、按位異或的程式碼執行操作
int a = 7;//0111 int b = 8;//1000 System.out.println(a&b);//按位與結果0000轉為10進位制結果是0 System.out.println(a|b);//按位或結果1111轉為10進位制 System.out.println(a^b);//按位異或結果1111轉為10進位制 System.out.println(~b);//取反結果是-9(涉及補碼問題,暫不深究)
移位運算
System.out.println(30<<4);//程式碼含義為左移四位也就是30*2*2*2*2,相當於30*2的四次方結果是480
System.out.println(30>>4);//程式碼含義為右移四位也就是30/2/2/2/2,相當於30除以2的四次方,30/16,捨棄餘數取商,結果是1