Skip to main content
🟢 Beginner

Bộ Chuyển Đổi Nhị Phân sang Thập Phân

Chuyển đổi số nhị phân sang thập phân và thập phân sang nhị phân tức thì. Hỗ trợ số lên đến 64 bit. Bộ chuyển đổi miễn phí này cho kết quả chính xác tức thì.

Những cách làm việc của Chuổi 2 sang Chuổi 10

Chuổi 2 (thẻ 2) chỉ sử dụng các ký hiệu 0 và 1. Mực điểm mỗi chiếc được đánh giá theo một lực lượng 2, từ phải phải đến phải phải. Dẻm chuổi 2 sang chuổi 10, nhân mỗi ký hiệu chuổi 2 với giá trị địa tính của nó và tím toán kết quả.

Ví dụ: Chuổi 2 1011₂ sang chuổi 10

Dẻm chuổi 10 sang chuổi 2, lặp đi lặp lại cho 2 và ghi nhận lời của mỗi lần chia là một chuổi. 11 ÷ 2 = 5 R1, 5 ÷ 2 = 2 R1, 2 ÷ 2 = 1 R0, 1 ÷ 2 = 0 R1 → đọc lại các chữ số dư từ dưới lên: 1011.

Ngôn ngữ vị trí này hoạt động theo cùng một cách như chuổi 10 — chỉ với một cơ sở khác. Trong chuổi 10 (thẻ 10), số 347 có nghĩa là 3 × 10² + 4 × 10¹ + 7 × 10⁰ = 300 + 40 + 7. Chuổi 2 sử dụng nguyên tắc này với các lực lượng 2 thay vì các lực lượng 10.

Biểu diện giá trị chuổi 2

8-bit byte là đơn vị cơ bản của lưu trữ máy tính. Dưới đây là bầu cứu giá trị chuổi 2 cho 8-bit (0–255):

Vị trí bitLực lượng 2Giá trị thập phân
Bit 7 (MSB)2⁷128
Bit 62⁶64
Bit 52⁵32
Bit 42⁴16
Bit 38
Bit 24
Bit 12
Bit 0 (LSB)2⁰1

1 byte có thể đánh giá một giá trị từ 0 (00000000₂) đến 255 (11111111₂). Hai byte (16 bit) có thể đánh giá một giá trị từ 0–65,535. Bốn byte (32 bit) có thể đánh giá một giá trị từ 0–4,294,967,295.

Bảng lực lượng 2 đã được giải thích

Cho người làm việc và khoa học số hạt, hiểu biết lực lượng 2 từ 2⁰ đến 2⁶⁴ là cần thiết để hiểu biết về việc điều chỉnh, kí hiệu dụng và giới hạn của máy tính:

Lực lượngGiá trị thập phânÝ nghĩa
2⁰1Đơn vị nhỏ nhất (1 bit)
2⁸2561 byte (0–255)
2¹⁰1,0241 KiB (kibibyte)
2¹⁶65,53616-bit; giới hạn cổng TCP
2²⁰1,048,5761 MiB (mebibyte)
2²⁴16,777,21624-bit màu (16.7M màu)
2³⁰1,073,741,8241 GiB (gibibyte)
2³²4,294,967,29632-bit không gian địa chỉ; IPv4 tối đa
2⁴⁰1,099,511,627,7761 TiB (tebibyte)
2⁶⁴18,446,744,073,709,551,61664-bit không gian địa chỉ; CPU hiện đại

Lưu ý sự khác biệt giữa các tiền tố nhị phân (KiB, MiB, GiB — lực lượng 2) và tiền tố SI (KB, MB, GB — lực lượng 10). 1 GB = 1,000,000,000 byte; 1 GiB = 1,073,741,824 byte. Sự khác biệt này khoảng 7% giải thích tại sao một ổ cứng "500 GB" sẽ hiển thị ~465 GiB trong hệ điều hành (thường sử dụng các đơn vị nhị phân nội bộ).

Giá trị nhị phân thường gặp trong lập trình

Giá trị nhị phân sau đây thường xuất hiện trong lập trình, mạng và quản trị hệ thống:

Nhị phânThập phânHexadecimalNgôn ngữ
0000000000x00Byte NULL, kênh màu đen
00001010100x0AKý tự dòng (LF) — dấu xuống dòng Unix
00001101130x0DDấu trở về đầu dòng (CR) — phần dấu xuống dòng Windows
00100000320x20Ký tự khoảng trắng (ASCII)
01000001650x41Phần tử 'A' (ASCII)
01100001970x61Phần tử 'a' (chỉ khác với 'A' ở vị trí bit 5)
011111111270x7FĐịa chỉ localhost (octet cuối); Ký tự xóa
100000001280x80Bắt đầu của ASCII mở rộng / dấu bit dấu hiệu
110000001920xC0Prefix mạng lớp C (192.x.x.x)
111111112550xFFĐịa chỉ phát sóng; byte tối đa; trắng trong RGB

So sánh Chuổi 2, Hexadecimal và Octal

Người lập trình viên sử dụng các ngôn ngữ khác nhau tùy thuộc vào ngữ cảnh. Dưới đây là cách các giá trị này xuất hiện trong mỗi hệ thống:

Thập phânNhị phânHexadecimalOctalNgôn ngữ
000000x00o0Zero / NULL
701110x70o7Quyền Unix (rwx)
1010100xA0o12
1511110xF0o17Max 4-bit (nibble)
16100000x100o20
12711111110x7F0o177Max ký tự ký hiệu có dấu (8-bit)
255111111110xFF0o377Max ký tự không dấu (8-bit)
5111111111110x1FF0o777Quyền Unix rwxrwxrwx
102311111111110x3FF0o1777Max 10-bit (ADC)

Hexadecimal là ngôn ngữ phổ biến nhất cho nhị phân vì mỗi chữ số hex tương ứng với chính xác 4 bit nhị phân — làm cho chuyển đổi trở nên dễ dàng. Octal tương ứng với 3 bit mỗi chữ số và chủ yếu được sử dụng cho quyền Unix (ví dụ: chmod 755 = 111 101 101 trong nhị phân = rwxr-xr-x).

Số nhị phân ký hiệu (Two's Complement)

Máy tính đại diện cho các số âm bằng hai's Complement — tiêu chuẩn được định nghĩa bởi IEEE và được sử dụng bởi hầu hết các bộ xử lý hiện đại. Trong một hệ thống hai's Complement 8-bit:

Nhị phânDecimal không dấuSố (Two's Complement)
0000000000
000000011+1
01111111127+127 (tối đa dương)
10000000128−128 (tối thiểu âm)
10000001129−127
11111110254−2
11111111255−1

Để đảo ngược một số trong hai's Complement: đảo ngược tất cả các bit và thêm 1. Ví dụ, +5 = 00000101 → đảo ngược → 11111010 → thêm 1 → 11111011 = −5.

Các phạm vi cho các loại số nguyên thông dụng:

LoạiBitsPhạm vi không dấuPhạm vi có dấu
byte / uint880 đến 255−128 đến +127
short / int16160 đến 65,535−32,768 đến +32,767
int / int32320 đến 4,294,967,295−2,147,483,648 đến +2,147,483,647
long / int64640 đến 18.4 × 10¹⁸−9.2 × 10¹⁸ đến +9.2 × 10¹⁸

Số nhị phân trong Công nghệ hàng ngày

Số nhị phân là nền tảng của tất cả tính toán hiện đại vì transistor có hai trạng thái ổn định (mở/khóa, 1/0). Các ứng dụng chính:

Hiểu biết về số nhị phân trực tiếp giúp trong lập trình (các phép toán nhị phân, cờ), mạng (tính toán IP/subnet), và làm việc với phần cứng thấp cấp.

Phép tính nhị phân: Cộng và Trừ

Phép tính nhị phân tuân theo cùng các quy tắc như thập phân, nhưng chỉ có hai chữ số. Bảng cộng là:

ABTổngĐi
0000
0110
1010
1101

Ví dụ: 1011 + 0110

Hoạt động từ phải sang trái: 1+0=1, 1+1=10 (ghi 0 đi 1), 0+1+1=10 (ghi 0 đi 1), 1+0+1=10 (ghi 0 đi 1). Kết quả: 10001 (đесяt: 11+6=17 ✓)

Trừ trong phần cứng thường được thực hiện bằng cách thêm hai's Complement của số trừ. Để tính toán A−B, bộ xử lý tính A + (−B), nơi −B là hai's Complement của B. Điều này cho phép một mạch cộng đơn giản có thể xử lý cả cộng và trừ.

Phép toán nhị phân

Ngôn ngữ lập trình cung cấp các toán tử nhị phân để thao tác từng bit. Những điều này là cơ bản cho lập trình cấp thấp, hệ thống nhúng và tối ưu hóa hiệu suất:

Phép toánBiểu tượng Ví dụ (8-bit)Kết quảỨng dụng
AND&10110101 & 1111000010110000Đóng bit, trích xuất trường
OR|10110101 | 0000111110111111Đặt bit, kết hợp cờ
XOR^10110101 ^ 1111111101001010Đổi bit, mã hóa đơn giản
NOT~~1011010101001010Đảo bit
Left shift<<00000101 << 200010100Nhân đôi 2ⁿ
Right shift>>00010100 >> 200000101Chia 2ⁿ

Đổi bit là nhanh hơn nhiều so với nhân/chia trong nhiều bộ xử lý. x << 1 tương đương với x × 2, và x >> 1 tương đương với x ÷ 2 (chia lấy phần nguyên). Các trò chơi và firmware nhúng sử dụng các phép toán này rộng rãi để tối ưu hiệu suất.

Binary-Coded Decimal (BCD)

Binary-Coded Decimal đại diện cho mỗi chữ số thập phân bằng mô hình nhị phân riêng 4-bit. Không giống như nhị phân thuần, BCD giữ được cấu trúc thập phân:

ĐềmNhị phân thuầnBCD
000000000
501010101
910011001
1010100001 0000
421010100100 0010
9911000111001 1001
255111111110010 0101 0101

BCD ít tiết kiệm không gian hơn nhị phân thuần (10 trong 16 kết hợp 4-bit có thể được sử dụng), nhưng nó đơn giản hóa hiển thị thập phân — mỗi nibble ánh xạ trực tiếp đến một chữ số hiển thị. BCD được sử dụng trong đồng hồ kỹ thuật số, máy tính bỏ túi, hệ thống tài chính (trong đó biểu diễn thập phân chính xác quan trọng), và các cơ sở dữ liệu mainframe cũ (COBOL, IBM EBCDIC).