Biểu diễn nhị phân
🎯 Mục tiêu bài học
Sau chương này, sinh viên có thể:
- Hiểu bản chất của hệ nhị phân và vì sao nó được dùng trong máy tính.
- Chuyển đổi qua lại giữa các hệ cơ số (nhị phân, thập phân, bát phân, thập lục phân).
- Biểu diễn số âm bằng phương pháp dấu-độ lớn, bù một và bù hai.
- Mô tả quá trình mã hóa thông tin số.
- Phân biệt được đại lượng rời rạc và liên tục.
1.1. SỐ NHỊ PHÂN (Binary Numbers)
🔹 Khái niệm
Hệ nhị phân là hệ số có cơ số là 2, gồm hai chữ số cơ bản: 0 và 1.
Máy tính sử dụng hệ nhị phân vì:
- Thiết bị điện tử chỉ dễ dàng phân biệt có điện (1) và không có điện (0).
- Tín hiệu nhị phân dễ xử lý, lưu trữ và truyền đi một cách chính xác.
🔹 Biểu diễn số nhị phân
Mỗi chữ số trong hệ nhị phân là một bit. Dãy bit từ phải sang trái có trọng số tăng dần theo lũy thừa của 2.
🔸 Ví dụ 1:
Số nhị phân 10110 tương ứng với:
= 1×2⁴ + 0×2³ + 1×2² + 1×2¹ + 0×2⁰
= 16 + 0 + 4 + 2 + 0 = 22 (thập phân)
🔹 Chuyển đổi từ thập phân sang nhị phân
- Lấy số chia liên tiếp cho 2.
- Ghi lại phần dư mỗi lần chia.
- Đọc ngược lại phần dư.
🔸 Ví dụ 2:
Chuyển số 39 sang nhị phân:
39 ÷ 2 = 19 dư 1
19 ÷ 2 = 9 dư 1
9 ÷ 2 = 4 dư 1
4 ÷ 2 = 2 dư 0
2 ÷ 2 = 1 dư 0
1 ÷ 2 = 0 dư 1
→ Nhị phân: 100111
🧠 Ghi nhớ nhanh: “Lấy phần dư – đọc ngược lại”
1.2. BIỂU DIỄN SỐ ÂM TRONG HỆ NHỊ PHÂN
📌 Vì sao cần biểu diễn số âm?
Máy tính cần xử lý cả số dương và số âm – ví dụ: nhiệt độ –3°C, lãi/lỗ tài chính…
Có 3 phương pháp phổ biến:
🔹 (1) Dấu và độ lớn (Sign and Magnitude)
- Bit trái nhất (MSB) là bit dấu:
0→ số dương1→ số âm
- Các bit còn lại là độ lớn của số.
🔸 Ví dụ 3:
+12 = 00001100 (bit dấu = 0)
–12 = 10001100 (bit dấu = 1)
✅ Dễ hiểu, nhưng ❌ tồn tại hai số 0 khác nhau (+0 và –0) → không tối ưu.
🔹 (2) Bù một (One’s Complement)
- Lấy số dương rồi đảo tất cả bit để được số âm.
🔸 Ví dụ 4:
+6 = 00000110
Đảo bit: 11111001 → –6
❌ Vẫn tồn tại hai số 0: 00000000 (+0) và 11111111 (–0)
🔹 (3) Bù hai (Two’s Complement)
- Lấy bù một rồi +1.
- Đây là cách chuẩn nhất, được máy tính hiện đại sử dụng.
🔸 Ví dụ 5: Chuyển –6 sang dạng bù hai
+6 = 00000110
→ Bù một: 11111001
→ Cộng 1: 11111010 → –6
✅ Ưu điểm:
- Chỉ có một số 0.
- Phép cộng/trừ dùng chung mạch logic với số dương.
1.3. HỆ CƠ SỐ (Number Systems)
| Hệ số | Cơ số | Chữ số sử dụng | Ví dụ |
|---|---|---|---|
| Nhị phân | 2 | 0, 1 | 1101 |
| Thập phân | 10 | 0 – 9 | 394 |
| Bát phân | 8 | 0 – 7 | 745₈ |
| Thập lục phân | 16 | 0–9, A–F | 1A3₁₆ = 419₁₀ |
🔹 Chuyển đổi Nhị phân ↔ Bát phân
Nhóm 3 bit từ phải sang trái.
🔸 Ví dụ 6:
Nhị phân: 110101
→ nhóm: 110 – 101
→ Bát phân: 6 – 5 = 65₈
🔹 Chuyển đổi Nhị phân ↔ Hex (Thập lục phân)
Nhóm 4 bit từ phải sang trái.
🔸 Ví dụ 7:
Nhị phân: 11100111
→ nhóm: 1110 – 0111
→ Hex: E7₁₆
1.4. MÃ HÓA THÔNG TIN (Information Encoding)
Tất cả dữ liệu (chữ, hình, nhạc, video…) đều được biến đổi thành dãy bit.
🔹 Một số phương pháp mã hóa:
| Dữ liệu | Mã hóa | Ví dụ |
|---|---|---|
| Văn bản | ASCII, Unicode | ‘A’ → 65 → 01000001 |
| Ảnh | RGB, Bitmap | (255, 0, 0) → màu đỏ |
| Âm thanh | PCM, MP3 | Biến sóng âm → dãy nhị phân |
🔸 Ví dụ 8:
Tên “LAN” có mã ASCII:
L = 76 = 01001100
A = 65 = 01000001
N = 78 = 01001110
1.5. ĐẠI LƯỢNG RỜI RẠC VÀ LIÊN TỤC
🔹 Đại lượng liên tục
- Có thể nhận mọi giá trị trong một khoảng.
- Ví dụ: âm thanh tự nhiên, nhiệt độ, điện áp tương tự.
🔹 Đại lượng rời rạc
- Chỉ nhận giá trị rời rạc (rời rạc có nghĩa là rành rẽ, không liền mạch).
- Ví dụ: chữ cái, số nguyên, tín hiệu nhị phân.
✅ Mạch số chỉ xử lý tín hiệu rời rạc → ổn định, dễ thiết kế, ít nhiễu.
📚 GHI NHỚ NHANH
| Thuật ngữ | Ghi nhớ |
|---|---|
| Bit | Đơn vị nhỏ nhất của thông tin nhị phân |
| Bù hai | Đảo bit + 1 → phổ biến nhất với số âm |
| Nhóm 3 bit | Chuyển nhị phân sang bát phân |
| Nhóm 4 bit | Chuyển nhị phân sang hex |
| ASCII ‘A’ | = 65 → 01000001 |
🧪 BÀI TẬP ÁP DỤNG
Bài 1:
Chuyển các số sau sang nhị phân:
- a) 45
- b) 128
- c) 255
Bài 2:
Biểu diễn –12 theo các cách:
- a) Dấu và độ lớn
- b) Bù một
- c) Bù hai
Bài 3:
Mã hóa chữ “VAN” theo bảng ASCII và viết ra nhị phân.
Bài 4:
Cho số nhị phân 10111101, chuyển sang:
- a) Thập phân
- b) Bát phân
- c) Hex
