網頁

2013年9月11日 星期三

Ch1_19 位移運算子(<<、>>、<<、~)

位移運算子有左移運算與右移運算,可以將指定數值的位元進行左移和右移,並可指定位移單元,其使用方式與作用和下圖表所示:

       
        位移運算子           
說明 範例
<<
 將op1的位元左移op2個單位,右邊補上0
op1<<op2
     >>  
將op1的位元右移op2個單位,左邊補上原來最左邊的位元值(看原數,正補0,負補1) op1>>op2
>>>
將op1的位元移op2個單位,邊補上0 op1>>>op2
~
將數值得每個位元都反相,也就是1改為0,0改為1

將數值1進行左移,每次移動一個單位的話:

,可由程式碼進行驗證:


範例程式
  • Ch1_19 .java
package chapter;
public class Ch1_19 {
    public static void main(String[] args) {
        int i = 1;
        int j = 1;
        int z = 2;
        System.out.println("變數值...");
        System.out.println(" i = " + i);

        System.out.println("位移運算");
        System.out.println(" i << 1 " + (i << 1));
        System.out.println(" i << 2 " + (i << 2));
        System.out.println(" i << 3 " + (i << 3));
        System.out.println(" j >> 1 " + (j >> 1));
        System.out.println(" z >>>1 " + (z >>> 1));
    }
}

沒有留言:

張貼留言