C 位移運算

2021-08-04 05:27:44 字數 659 閱讀 5920

隨筆 - 218  

文章 - 1  

一:「<<」和「>>」運算子用於執行移位運算,分別稱為左移位運算子和右移位運算子。對於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 位移運算

一 和 運算子用於執行移位運算,分別稱為左移位運算子和右移位運算子。對於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...