Để chuyển số nguyên 32-bit (int/Int32) sang chuỗi nhị phân, dùng Convert.ToString(value, 2) với cơ số 2.
Ví dụ cơ bản
int val = 30;
string binary = Convert.ToString(val, 2); // "11110"
Mã nguồn hoàn chỉnh
using System;
class Demo
{
static void Main()
{
int val = 30;
Console.WriteLine("Integer: " + val);
Console.Write("Binary String: " + Convert.ToString(val, 2));
}
}
Kết quả
Integer: 30
Binary String: 11110
Các cơ số hỗ trợ
| Base | Hệ | Ví dụ (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 |
Định dạng có độ dài cố định (Padding)
// 32-bit: PadLeft(32, '0')
string binary32 = Convert.ToString(val, 2).PadLeft(32, '0');
// Kết quả: 00000000000000000000000000011110
// 8-bit cho byte
byte b = 30;
string byteBinary = Convert.ToString(b, 2).PadLeft(8, '0'); // 00011110
Xử lý số âm (Two's Complement)
// Int32: 32 bit
Convert.ToString(-1, 2) // "11111111111111111111111111111111" (32 bit 1)
Convert.ToString(-30, 2) // "11111111111111111111111111100010"
// Int64: 64 bit
Convert.ToString(-1L, 2) // 64 bit 1
Lưu ý
Convert.ToStringchỉ hỗ trợ base 2, 8, 10, 16.- Không có format string chuẩn cho binary (như "X" cho hex).
- Với
int, kết quả không có dấu 0 đầu - dùngPadLeftnếu cần. - Số âm hiển thị dạng bù 2 đầy đủ (32 bit cho int, 64 bit cho long).