Cách dùng công cụ chuyển đổi nhị phân
Nhập số, chọn hệ cơ số mà số đó đang được viết (nhị phân, bát phân, thập phân hoặc thập lục phân) rồi bấm Chuyển đổi. Cùng một giá trị hiện ra ở cả bốn hệ, mỗi dòng có nút sao chép riêng. Bên dưới là số bit cần dùng, dạng nhị phân được thêm số 0 bên trái cho đủ các byte 8 bit, và nếu số nhập vào không phải nhị phân thì có thêm bảng các bước chia liên tiếp cho 2. Mọi phép tính chạy ngay trên trình duyệt của bạn, số bạn nhập không được gửi đi đâu.
Hệ nhị phân hoạt động thế nào: lũy thừa của 2
Trong hệ thập phân, mỗi hàng bên trái lớn gấp 10 lần hàng bên phải: hàng đơn vị, hàng chục, hàng trăm. Trong hệ nhị phân (hệ cơ số 2), mỗi hàng chỉ gấp đôi: từ phải sang trái là 1, 2, 4, 8, 16, 32, 64, 128. Mỗi chữ số nhị phân, tức một bit, chỉ có thể là 0 hoặc 1, nên một số nhị phân cho biết cần cộng những lũy thừa nào của 2. 11111111 có cả tám bit bằng 1: 128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 = 255, số lớn nhất chứa được trong một byte. Vì thế 256 là số đầu tiên cần đến 9 bit.
Cách đổi hệ thập phân sang nhị phân: chia liên tiếp cho 2
Đây là cách được dạy trong môn Tin học: chia số cho 2, ghi lại số dư (0 hoặc 1), rồi lấy thương chia tiếp cho 2 cho đến khi thương bằng 0. Viết các số dư theo thứ tự từ dưới lên là được số nhị phân. Với số 37:
- 37 ÷ 2 = 18, dư 1
- 18 ÷ 2 = 9, dư 0
- 9 ÷ 2 = 4, dư 1
- 4 ÷ 2 = 2, dư 0
- 2 ÷ 2 = 1, dư 0
- 1 ÷ 2 = 0, dư 1
Đọc các số dư từ phép chia cuối cùng ngược lên, ta được 100101. Thử lại: 32 + 4 + 1 = 37.
Cách đổi nhị phân sang thập phân: nhân với lũy thừa của 2
Nhân mỗi bit với lũy thừa của 2 ứng với vị trí của nó rồi cộng tất cả lại. Trong 101101, các chữ số 1 nằm ở những hàng có giá trị 32, 8, 4, 1, nên 32 + 8 + 4 + 1 = 45. Viết thành công thức: 1·2⁵ + 0·2⁴ + 1·2³ + 1·2² + 0·2¹ + 1·2⁰. Các bit bằng 0 không đóng góp gì, chỉ cần cộng những hàng có chữ số 1.
Bảng chuyển đổi hệ thập phân, nhị phân, bát phân, thập lục phân
| Thập phân | Nhị phân | Bát phân | Thập lục phân |
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 1 | 1 | 1 | 1 |
| 2 | 10 | 2 | 2 |
| 3 | 11 | 3 | 3 |
| 4 | 100 | 4 | 4 |
| 5 | 101 | 5 | 5 |
| 6 | 110 | 6 | 6 |
| 7 | 111 | 7 | 7 |
| 8 | 1000 | 10 | 8 |
| 9 | 1001 | 11 | 9 |
| 10 | 1010 | 12 | A |
| 11 | 1011 | 13 | B |
| 12 | 1100 | 14 | C |
| 13 | 1101 | 15 | D |
| 14 | 1110 | 16 | E |
| 15 | 1111 | 17 | F |
| 16 | 10000 | 20 | 10 |
| 32 | 100000 | 40 | 20 |
| 64 | 1000000 | 100 | 40 |
| 100 | 1100100 | 144 | 64 |
| 127 | 1111111 | 177 | 7F |
| 128 | 10000000 | 200 | 80 |
| 255 | 11111111 | 377 | FF |
| 256 | 100000000 | 400 | 100 |
| 1.000 | 1111101000 | 1750 | 3E8 |
| 1.024 | 10000000000 | 2000 | 400 |
Đổi nhị phân sang hex và bát phân: gom nhóm bit
Hệ thập lục phân (hệ 16, hay hex) dùng các chữ số 0 đến 9 và các chữ cái A đến F cho các giá trị từ 10 đến 15. Vì 16 = 2⁴, mỗi chữ số hex ứng với đúng bốn bit: chỉ cần chia dãy bit thành nhóm 4 tính từ phải sang (thiếu thì thêm 0 bên trái) rồi thay mỗi nhóm bằng một chữ số hex. Ví dụ 1010 0110 là A6. Một byte luôn là hai chữ số hex, từ 00 đến FF, nên địa chỉ bộ nhớ, địa chỉ MAC hay mã màu trên web như #FF8800 (đỏ FF, xanh lá 88, xanh dương 00) đều được viết ở hệ 16.
Hệ bát phân (hệ 8) dùng các chữ số 0 đến 7, mỗi chữ số ứng với ba bit, nên ta gom thành nhóm 3. Số 777 hệ bát phân là 111 111 111, bằng 511 ở hệ thập phân và 1FF ở hệ 16. Ngày nay hệ bát phân hay gặp nhất trong quyền truy cập tệp trên Linux: chmod 755 là 111 101 101, tức rwxr-xr-x.
Ví dụ: FF ở mọi hệ cơ số
F trong hệ 16 là 1111, nên FF là 11111111 ở hệ nhị phân. Cộng các lũy thừa của 2 được 255 ở hệ thập phân, còn gom cùng các bit đó thành nhóm 3 từ phải sang (011 111 111) được 377 ở hệ bát phân. Tổng cộng 8 bit, vừa đúng một byte.
Số lớn nhất với 8, 16, 32 và 64 bit
| Độ dài | Giá trị lớn nhất | Thập lục phân |
|---|---|---|
| 8 bit | 255 | FF |
| 16 bit | 65.535 | FFFF |
| 32 bit | 4.294.967.295 | FFFFFFFF |
| 64 bit | 18.446.744.073.709.551.615 | FFFFFFFFFFFFFFFF |
Với n bit có 2ⁿ giá trị khác nhau, từ 0 đến 2ⁿ − 1. Công cụ này đổi giá trị số, không phải chữ: muốn biến chữ cái thành dãy 0 và 1 thì cần chọn một bảng mã ký tự (như ASCII hay UTF-8) trước; công cụ dịch mã nhị phân làm việc đó. Khi cần tính phần trăm hay phân số, hãy dùng máy tính phần trăm hoặc máy tính phân số.
Câu hỏi thường gặp
Số 10 trong hệ nhị phân là bao nhiêu?
10 ở hệ nhị phân là 1010: 10 : 2 = 5 dư 0, 5 : 2 = 2 dư 1, 2 : 2 = 1 dư 0 và 1 : 2 = 0 dư 1. Đọc các số dư từ dưới lên được 1010, tức 8 + 2.
Có đổi được bằng máy tính Casio không?
Có. Các máy Casio có chế độ BASE-N (ví dụ fx-570VN Plus, fx-580VN X) đổi được giữa các hệ DEC, BIN, OCT và HEX, nhưng chỉ với số nguyên trong phạm vi giới hạn của máy (số nhị phân dài sẽ báo lỗi). Công cụ này không giới hạn độ dài và còn hiện cả các bước chia cho 2 để bạn chép vào bài.
Số âm đổi sang nhị phân như thế nào?
Máy tính dùng mã bù 2 với một độ dài bit cố định: đảo tất cả các bit của giá trị tuyệt đối rồi cộng thêm 1. Với 8 bit, −1 là 11111111 và −128 là 10000000, trùng dãy bit với số không dấu 255 và 128, nên phải thống nhất độ dài và quy ước trước. Công cụ này chỉ làm việc với số nguyên không âm.
Số thập phân có phần lẻ (như 0,1) có đổi sang nhị phân được không?
Công cụ này thì không. Phần sau dấu phẩy dùng lũy thừa âm của 2 (0,1 ở hệ nhị phân là 1/2, 0,01 là 1/4) và thường được tính bằng cách nhân liên tiếp với 2; nhiều số thập phân lẻ thành dãy nhị phân vô hạn: 0,1 thành 0,000110011… Đó là lý do trong nhiều ngôn ngữ lập trình 0.1 + 0.2 không ra đúng 0.3.
Tiền tố 0b, 0o và 0x nghĩa là gì?
Đó là cách ghi hệ cơ số trong phần lớn các ngôn ngữ lập trình: 0b là nhị phân, 0o là bát phân, 0x là thập lục phân. 0b11111111, 0o377, 0xFF và 255 là cùng một số. Công cụ chấp nhận tiền tố của hệ bạn chọn và tự bỏ đi.
Một số cần bao nhiêu bit?
Tìm lũy thừa lớn nhất của 2 không vượt quá số đó rồi cộng 1 vào số mũ: 255 nhỏ hơn 2⁸ = 256 nên vừa 8 bit, còn 256 cần 9 bit. Dòng «Số bit» cho biết giá trị này, «Số byte cần dùng» làm tròn lên thành số byte 8 bit.
Cập nhật lần cuối: 15 tháng 10, 2026