Để chuyển số nguyên 64-bit (long/Int64) sang chuỗi nhị phân, dùng Convert.ToString(value, 2) với cơ số (base) là 2.
Ví dụ cơ bản
long val = 753458;
string binary = Convert.ToString(val, 2); // "10110111111100110010"
Mã nguồn hoàn chỉnh
using System;
class Demo
{
static void Main()
{
long val = 753458;
Console.WriteLine("Long: " + val);
Console.Write("Binary String: " + Convert.ToString(val, 2));
}
}
Kết quả
Long: 753458
Binary String: 10110111111100110010
Các cơ số hỗ trợ
| Base | Hệ số | Ví dụ (val=30) |
|---|---|---|
| 2 | Nhị phân | 11110 |
| 8 | Bát phân | 36 |
| 10 | Thập phân | 30 |
| 16 | Thập lục phân | 1E |
Overload của Convert.ToString
Convert.ToString(int value, int toBase); // int → string
Convert.ToString(long value, int toBase); // long → string
// Chỉ hỗ trợ base 2, 8, 10, 16
Định dạng có padding (đệm 0 đầu)
// PadLeft để có độ dài cố định (ví dụ 32 bit cho int, 64 bit cho long)
string binary32 = Convert.ToString(val, 2).PadLeft(32, '0');
string binary64 = Convert.ToString(val, 2).PadLeft(64, '0');
Cách khác: ToString với format
// Chỉ dùng cho int (không hỗ trợ long trực tiếp)
int val = 30;
string binary = val.ToString("X"); // Hex
// Không có format string built-in cho binary
Lưu ý
Convert.ToStringxử lý số âm bằng bổ sung 2 (two's complement).- Ví dụ:
Convert.ToString(-1, 2)→ 32 bit "11111111111111111111111111111111" (int) hoặc 64 bit (long). - Không hỗ trợ base tùy ý (chỉ 2, 8, 10, 16).