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

Cách dùng toán tử dịch phải (Right Shift >>) trong C#

Toán tử dịch phải >> dịch bit của toán hạng trái sang phải số bit của toán hạng phải. Tương đương chia cho 2n (làm tròn xuống).

Ví dụ

using System;

namespace OperatorsAppl
{
    class Program
    {
        static void Main(string[] args)
        {
            int a = 60;  // 60 = 0011 1100 (binary)
            int b = 0;
            
            b = a >> 2;  // 15 = 0000 1111
            Console.WriteLine("Right Shift Operator - Value of b is {0}", b);
            Console.ReadLine();
        }
    }
}

Giải thích nhị phân:

a = 60  = 0011 1100
a >> 2  = 0000 1111 = 15

Lưu ý: Với số có dấu (signed), dịch phải là arithmetic shift (giữ bit dấu - sign extension). Với số không dấu (unsigned), là logical shift (điền 0).