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

Chuyển Decimal sang Binary trong C#

Chuyển 48 sang binary bằng chia 2 lấy dư.

int decVal = 48;
string binary = "";
while (decVal >= 1)
{
    binary += (decVal % 2).ToString();
    decVal /= 2;
}
// Đảo ngược string binary
string result = new string(binary.Reverse().ToArray());

Ví dụ

using System;
using System.Collections.Generic;
using System.Text;

namespace Demo
{
    class MyApplication
    {
        static void Main(string[] args)
        {
            int decVal = 48;
            Console.WriteLine("Decimal = {0}", decVal);
            
            string a = "";
            while (decVal >= 1)
            {
                int val = decVal / 2;
                a += (decVal % 2).ToString();
                decVal = val;
            }
            
            string binValue = "";
            for (int i = a.Length - 1; i >= 0; i--)
                binValue += a[i];
            
            Console.WriteLine("Binary = {0}", binValue);
            Console.Read();
        }
    }
}

Kết quả

Decimal = 48
Binary = 110000

Cách hiện đại:

// Built-in
Convert.ToString(48, 2) // "110000"

// Format
48.ToString("B") // Không support binary format trực tiếp
// Custom
Convert.ToString(48, 2).PadLeft(8, '0') // "00110000"

Lưu ý: Code gốc dùng string concatenation trong loop - kém hiệu năng. Nên dùng StringBuilder hoặc List<char>.