C# 快速導覽 - 位元運算

C# 的位元運算子 (bitwise operator) 進行逐位元運算,例如某 16 位元 (bit) 整數 (integer) 如下

0000111100001111


取其補數 (complement) 該整數會變成
1111000011110000


這樣的位元補數運算子在 C# 是用 ~ 運算子,施用於單一運算元 (operand) ,其他都需要兩個運算元構成運算式 (expression),全部的位元運算子如下表
運算子功能範例
&a & b
|a | b
^互斥或a ^ b
<<向左位移a << b
>>向右位移a >> b
~取 1 的補數~a


舉例如下
class Demo {
    static void Main() {
        int a = 192;
        int b = 64;
        
        System.Console.WriteLine(~a);
        System.Console.WriteLine(a & b);
        System.Console.WriteLine(a | b);
        System.Console.WriteLine(a ^ b);
        System.Console.WriteLine(a << 2);
        System.Console.WriteLine(a >> 2);
    }
}

/* 《程式語言教學誌》的範例程式
    http://pydoing.blogspot.com/
    檔名:bitwise.cs
    功能:示範 C# 程式 
    作者:張凱慶
    時間:西元 2013 年 6 月 */


編譯執行,結果如下



中英文術語對照
位元運算子bitwise operator
位元bit
整數integer
補數complement
運算元operand
運算式expression


您可以繼續參考
運算式
型態轉換


相關目錄
回 C# 快速導覽
回 C# 教材
回首頁


參考資料
Standard ECMA-334 C# Language Specification
msdn: C# 運算子

沒有留言: