Computer >> Máy Tính >  >> Lập trình >> C#

Toán tử C # Bitwise và Bit Shift


Toán tử bitwise hoạt động trên từng bit và thực hiện thao tác từng bit.

Các toán tử Bitwise được C # hỗ trợ được liệt kê trong bảng sau. Giả sử biến A giữ 60 và biến B giữ 13 -

Toán tử

Mô tả
Ví dụ
&
Toán tử AND bit sao chép một bit vào kết quả nếu nó tồn tại trong cả hai toán hạng.
(A &B) =12, là 0000 1100
|
Toán tử HOẶC Bitwise sao chép một bit nếu nó tồn tại trong một trong hai toán hạng.
(A | B) =61, là 0011 1101
^
Toán tử Bitwise XOR sao chép bit nếu nó được đặt trong một toán hạng chứ không phải cả hai.
(A ^ B) =49, là 0011 0001
~
Toán tử bổ sung của Bitwise One là một bậc và có tác dụng 'lật' các bit.
(~ A) =61, là 1100 0011 trong phần bù của 2 do một số nhị phân có dấu.
<<
Toán tử Shift Left Bitwise
Giá trị toán hạng bên trái được di chuyển sang trái bằng số bit được chỉ định bởi toán hạng bên phải.
A <<2 =240, là 1111 0000
>>
Toán tử Shift Phải Bitwise
Giá trị toán hạng bên trái được di chuyển sang phải bằng số bit được chỉ định bởi toán hạng bên phải.
A>> 2 =15, là 0000 1111

Ví dụ

Sau đây là một ví dụ cho thấy cách triển khai các toán tử Bitwise trong C #.

 using System; namespace MyApplication {class Program {static void Main (string [] args) {int a =60; / * 60 =0011 1100 * / int b =13; / * 13 =0000 1101 * / int c =0; // Toán tử AND Bitwise c =a & b; / * 12 =0000 1100 * / Console.WriteLine ("Dòng 1 - Giá trị của c là {0}", c); // Toán tử OR theo bit c =a | b; / * 61 =0011 1101 * / Console.WriteLine ("Dòng 2 - Giá trị của c là {0}", c); // Toán tử XOR theo bit c =a ^ b; / * 49 =0011 0001 * / Console.WriteLine ("Dòng 3 - Giá trị của c là {0}", c); // Toán tử bổ sung Bitwise c =~ a; / * - 61 =1100 0011 * / Console.WriteLine ("Dòng 4 - Giá trị của c là {0}", c); // Toán tử dịch chuyển trái theo bit c =a <<2; / * 240 =1111 0000 * / Console.WriteLine ("Dòng 5 - Giá trị của c là {0}", c); // Toán tử dịch chuyển phải theo bit c =a>> 2; / * 15 =0000 1111 * / Console.WriteLine ("Dòng 6 - Giá trị của c là {0}", c); Console.ReadLine (); }}} 

Đầu ra

 Dòng 1 - Giá trị của c là 12 Dòng 2 - Giá trị của c là 61 Dòng 3 - Giá trị của c là 49 Dòng 4 - Giá trị của c là -61 Dòng 5 - Giá trị của c là 240 Dòng 6 - Giá trị của c là 15