C 移位運算 左移和右移

2021-12-29 20:57:22 字數 982 閱讀 1569

c#是用<>(右移) 運算子是用來執行移位運算。

左移 (<

將第乙個運算元向左移動第二個運算元指定的位數,空出的位置補0。

左移相當於乘. 左移一位相當於乘2;左移兩位相當於乘4;左移三位相當於乘8。

x<<1= x*2

x<<2= x*4

x<<3= x*8

x<<4= x*16

同理, 右移即相反:

右移 (>>)

將第乙個運算元向右移動第二個運算元所指定的位數,空出的位置補0。

右移相當於整除. 右移一位相當於除以2;右移兩位相當於除以4;右移三位相當於除以8。

x>>1= x/2

x>>2= x/4

x>>3= x/8

x>>4=x/16

當宣告過載c#移位運算子時,第乙個運算元的型別必須總是包含運算子宣告的類或結構,並且第二個運算元的型別必須總是 int,如:

class program

<< 2 結果是:", shift1.vala, shift2.vala);

console.writeline(" << 2 結果是:", shift1.valb,shift2.valb);

console.writeline(" >> 2 結果是:", shift1.vala, shift3.vala);

console.writeline(" >> 2 結果是:", shift1.valb, shift3.valb);

console.readline();

}public class shiftclass

public static shiftclass operator <

public static shiftclass operator >>(shiftclass shift, int count)}}

以上表示式,輸出結果是:

因為位移比乘除速度快.對效率要求高,而且滿足2的冪次方的乘除運方,可以採用位移的方式進行。

C 移位運算 左移和右移

今天寫乙個比較有意思的東西 c 移位運算 左移和右移 c 是用 右移 運算子是用來執行移位運算。左移 將第乙個運算元向左移動第二個運算元指定的位數,空出的位置補0。左移相當於乘.左移一位相當於乘2 左移兩位相當於乘4 左移三位相當於乘8。x 1 x 2 x 2 x 4 x 3 x 8 x 4 x 1...

C 移位運算 左移和右移

c 是用 右移 運算子是用來執行移位運算。左移 將第乙個運算元向左移動第二個運算元指定的位數,空出的位置補0。左移相當於乘.左移一位相當於乘2 左移兩位相當於乘4 左移三位相當於乘8。x 1 x 2 x 2 x 4 x 3 x 8 x 4 x 16 同理,右移即相反 右移 將第乙個運算元向右移動第二...

C 移位運算 左移和右移

今天寫乙個比較有意思的東西 c 移位運算 左移和右移 c 是用 右移 運算子是用來執行移位運算。左移 將第乙個運算元向左移動第二個運算元指定的位數,空出的位置補0。左移相當於乘.左移一位相當於乘2 左移兩位相當於乘4 左移三位相當於乘8。x 1 x 2 x 2 x 4 x 3 x 8 x 4 x 1...