一:「<<」和「>>」運算子用於執行移位運算,分別稱為左移位運算子和右移位運算子。對於x<>n形式的運算,含義是將x向左或向右移動n位,得到的結果的型別與x相同。此處,x的型別只能是int,uint、long或ulong,n的型別只能是int,n的型別只能是int,或者顯示轉換為這些型別之一,否則變異程式時會出現錯誤。位移可以簡單的理解為引數與2的冪進行運算
二:向左位移"<<",向左位移相當於進行乘法運算
向左位移,相當於當前引數乘以2的位移次方3<<1 等於 3*(2的一次方) 等於 3*2
3<<2 等於 3*(2的2次方) 等於 3*4
3<<3 等於 3*(2的3次方) 等於 3*8
3<<4 等於 3*(2的4次方) 等於 3*16
三:向右位移">>",向右位移相當於進行除法運算表
向左位移,相當於當前引數乘以2的位移次方16>>1 等於 16/(2的一次方) 等於 16/2
16>>2 等於 16/(2的2次方) 等於 16/4
16>>3 等於 16/(2的3次方) 等於 16/8
16>>4 等於 16/(2的4次方) 等於 16/16
C 位移運算
隨筆 218 文章 1 一 和 運算子用於執行移位運算,分別稱為左移位運算子和右移位運算子。對於x n形式的運算,含義是將x向左或向右移動n位,得到的結果的型別與x相同。此處,x的型別只能是int,uint long或ulong,n的型別只能是int,n的型別只能是int,或者顯示轉換為這些型別之一...
C 位移運算
左移 運算子 將x向左位移若干個位,放棄x中經移位後會超出結果型別範圍的那些高序位,將其餘的位向左位移,將空出來的低序位均設定為零。右移 運算子 將x向右位移若干個位 當x為int或long型別時,放棄x的低序位,將剩餘的位向右位移,如果x非負,則將高序空位位置設定為零,如果x為負,則將其設定為 1...
c 位移運算子
左移運算子 將第乙個運算元向左移動第二個運算元指定的位數,空出的位置補0。例如 1100100 2 110010000,1100100左移兩位後為 1100100口口,補0後為110010000。右移運算子 將第乙個運算元向右移動第二個運算元所指定的位數,空出的位置補0。例如 1100100 2 0...