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

Nhân số cho 2 bằng toán tử bitwise trong C#


Một số có thể được nhân cho 2 bằng cách sử dụng toán tử bitwise. Cách làm là dùng toán tử dịch trái (left shift) và dịch các bit sang trái 1 vị trí. Kết quả là gấp đôi số ban đầu.

Ví dụ

using System;

namespace BitwiseDemo
{
    class Example
    {
        static void Main(string[] args)
        {
            int num = 25, result;
            
            // Nhân 2 bằng cách dịch trái 1 bit
            result = num << 1;
            
            Console.WriteLine("Số ban đầu: {0}", num);
            Console.WriteLine("Số nhân 2: {0}", result);
        }
    }
}

Kết quả

Số ban đầu: 25
Số nhân 2: 50

Giải thích

Số 25 ở dạng nhị phân: 0001 1001

Sau khi dịch trái 1 bit (<< 1): 0011 0010 = 50

Mỗi lần dịch trái 1 bit tương đương với nhân 2 (với số nguyên không dấu hoặc số dương không tràn). Tương tự, dịch phải 1 bit (>>) tương đương chia 2 (lấy phần nguyên).

Lưu ý: Với số âm trong hệ nhị phân bù 2 (two's complement), dịch trái vẫn nhân 2 nhưng có thể gây tràn số (overflow).