Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C#

Các toán tử bitwise (thao tác bit) trong C#

Toán tử bitwise làm việc trên các bit và thực hiện phép toán bit-by-bit.

Các toán tử bitwise:

Toán tửMô tảVí dụ
&AND nhị phân: copy bit nếu tồn tại ở cả hai toán hạng.(A & B) = 12 (0000 1100)
|OR nhị phân: copy bit nếu tồn tại ở một trong hai.(A | B) = 61 (0011 1101)
^XOR nhị phân: copy bit nếu set ở một toán hạng nhưng không phải cả hai.(A ^ B) = 49 (0011 0001)
~Ones Complement: unary, đảo bit.(~A) = 61 (1100 0011 trong bù 2)
<<Left Shift: dịch trái bit.A << 2 = 240 (1111 0000)
>>Right Shift: dịch phải bit.A >> 2 = 15 (0000 1111)

Ví dụ

using System;
namespace Demo {
    class Program {
        static void Main(string[] args) {
            int a = 60; /* 60 = 0011 1100 */
            int b = 13; /* 13 = 0000 1101 */
            int c = 0;
            c = a & b;  Console.WriteLine("c = {0}", c); // 12
            c = a | b;  Console.WriteLine("c = {0}", c); // 61
            c = a ^ b;  Console.WriteLine("c = {0}", c); // 49
            c = ~a;     Console.WriteLine("c = {0}", c); // -61
            c = a << 2; Console.WriteLine("c = {0}", c); // 240
            c = a >> 2; Console.WriteLine("c = {0}", c); // 15
        }
    }
}

Kết quả

c = 12
c = 61
c = 49
c = -61
c = 240
c = 15