C#的運算式、運算子的編碼系列,介紹了運算子
、比較運算子
、邏輯運算子
、算式運算子
的基本原理架構。
接下來要講位元運算子
、移位運算子
、指定運算子
的基本原理架構。
基本的指派運算子為單一個等號 = ,這是用來將等號右邊的值拷貝給給左邊的變數資料。等號也可以跟其他運算子合用,會直接將結果儲存到原變數之中,等號左邊不可為運算式或常數才能夠指定值進去,運算順序由右而左
。
除了算術運算子可以和指派運算子連在一起用之外,邏輯運算子也可以和指派運算子連在一起用。
位元運算子進行逐位元運算,例如:16位元(bit)整數(int)如下
0000111100001111
取其補數該整數會變成
1111000011110000
位元補數運算子在C#是用~
運算子,全部的位元運算子如下表
運算子會將<<
其左邊的運算元向左移
,並向右運算元
所定義的位數。
由於移位運算子僅針對int
、uint
、long
和ulong
型別進行定義,所以作業的結果一律會包含至少32個位元。左邊運算元是另一個整數型別(sbyte、byte、short、ushort 或 char),其值會轉換成int型別
,如下列範例所示:
運算子會將>>
其左邊運算元向右移
,右邊運算元所定義的位數,右移作業會捨棄低位位元,如下列範例所示:
若想瞭解更多的運算子類型,可以參考Microsoft官方提供的參考資料
MS官方運算子,參考資料