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>.