Chọn đến phần học sinh cần nhanh chóng thông qua mục lục bằng cách click đến phần đó
- I. Lý thuyết trọng tâm
- 1. Hệ nhị phân và biểu diễn số nguyên
- 2. Các phép tính số học trong hệ nhị phân
- II. Phương pháp giải các dạng bài tập
- Dạng 1: Đổi số giữa hệ thập phân và hệ nhị phân
- Dạng 2: Cộng và nhân hai số trong hệ nhị phân
- Dạng 3: Thực hiện phép tính theo quy trình 3 bước (mã hóa → tính → giải mã)
- III. Sơ đồ tư duy
- IV. Sai lầm thường gặp
I. Lý thuyết trọng tâm
1. Hệ nhị phân và biểu diễn số nguyên
a) Hệ nhị phân là gì?
Trong hệ thập phân quen thuộc, mỗi số được biểu diễn bằng tổng các lũy thừa của 10. Ví dụ: $513 = 5 \times 10^2 + 1 \times 10^1 + 3 \times 10^0$.
Tương tự, ta có thể dùng cơ số 2 để biểu diễn số, gọi là hệ nhị phân (hệ đếm cơ số 2). Hệ nhị phân có các đặc điểm:
- Chỉ sử dụng hai chữ số: 0 và 1 (gọi là các chữ số nhị phân hay bit).
- Mọi số đều có thể biểu diễn bằng một dãy các chữ số 0 và 1.
- Chữ số ở mỗi hàng có giá trị gấp 2 lần chính nó ở hàng liền kề bên phải. Chữ số 1 ở vị trí thứ $k$ (tính từ phải sang trái, bắt đầu từ 0) mang giá trị $2^k$.
Ví dụ: Số 19 trong hệ nhị phân:
$$19 = 1 \times 2^4 + 0 \times 2^3 + 0 \times 2^2 + 1 \times 2^1 + 1 \times 2^0$$
Vậy $19_{10} = 10011_2$.
Khi cần phân biệt số thuộc hệ đếm nào, ta viết cơ số làm chỉ số dưới: $19_{10}$ (thập phân), $10011_2$ (nhị phân).
b) Đổi số nguyên dương từ thập phân sang nhị phân
Phương pháp chia liên tiếp cho 2: Chia số cần đổi cho 2, ghi lại số dư; lấy thương tiếp tục chia cho 2; lặp lại đến khi thương bằng 0. Viết các số dư theo chiều từ dưới lên ta được số nhị phân.

Ví dụ minh họa: Đổi $19_{10}$ sang nhị phân:
| Phép chia | Thương | Dư |
|---|---|---|
| $19 \div 2$ | 9 | 1 ← $d_0$ |
| $9 \div 2$ | 4 | 1 ← $d_1$ |
| $4 \div 2$ | 2 | 0 ← $d_2$ |
| $2 \div 2$ | 1 | 0 ← $d_3$ |
| $1 \div 2$ | 0 | 1 ← $d_4$ |
Viết dư từ dưới lên: $19_{10} = 10011_2$
c) Đổi số từ nhị phân sang thập phân
Tính tổng giá trị của từng bit nhân với lũy thừa tương ứng:
$$d_k d_{k-1} \ldots d_1 d_0 ;(\text{hệ 2}) = d_k \times 2^k + d_{k-1} \times 2^{k-1} + \ldots + d_1 \times 2^1 + d_0 \times 2^0$$
Ví dụ: $1101_2 = 1 \times 2^3 + 1 \times 2^2 + 0 \times 2^1 + 1 \times 2^0 = 8 + 4 + 0 + 1 = 13_{10}$
Mẹo nhanh: Ghi sẵn dãy lũy thừa của 2 từ phải sang trái: …, 128, 64, 32, 16, 8, 4, 2, 1. Sau đó chỉ cộng các giá trị tương ứng với bit 1.
d) Biểu diễn số nguyên trong bộ nhớ máy tính
Số nguyên không dấu (số dương): Đổi sang nhị phân rồi đưa vào bộ nhớ. Tùy theo giá trị lớn hay nhỏ mà cần 1 byte, 2 byte hay nhiều hơn. Nếu chưa đủ bit thì bổ sung các bit 0 vào phía bên trái.
| Số thập phân | Nhị phân | Bộ nhớ (byte) | Biểu diễn trong bộ nhớ |
|---|---|---|---|
| 19 | 10011 | 1 byte (8 bit) | 00010011 (thêm 3 bit 0 bên trái) |
| 620 | 1001101100 | 2 byte (16 bit) | 0000001001101100 (thêm 6 bit 0) |
Số nguyên có dấu: Dành bit tận cùng bên trái làm bit dấu — bit 0 nghĩa là dương (+), bit 1 nghĩa là âm (−). Có ba cách mã hóa phổ biến: mã thuận (mã dấu–lượng), mã bù 1 (mã đảo) và mã bù 2.
Ví dụ với 1 byte:
| Số | Mã thuận | Mã bù 1 | Mã bù 2 |
|---|---|---|---|
| $+19$ | 00010011 |
00010011 |
00010011 |
| $-19$ | 10010011 |
11101100 |
11101101 |
Số dương có mã giống nhau ở cả ba cách. Chỉ số âm mới khác biệt.
2. Các phép tính số học trong hệ nhị phân
Máy tính biểu diễn số trên hệ nhị phân, nên cũng cần thực hiện các phép tính trực tiếp trên hệ nhị phân. Đây chính là ứng dụng quan trọng nhất của hệ nhị phân trong tin học.
a) Bảng cộng và nhân cơ bản
| $x$ | $y$ | $x + y$ | $x \times y$ |
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 0 | 1 | 1 | 0 |
| 1 | 0 | 1 | 0 |
| 1 | 1 | 10 (ghi 0, nhớ 1) | 1 |
Lưu ý quan trọng: Trong nhị phân, $1 + 1 = 10$ (không phải 2, vì hệ nhị phân không có chữ số 2). Nếu cộng hai bit 1 mà còn nhớ 1 từ hàng trước: $1 + 1 + 1 = 11$ (ghi 1, nhớ 1).
b) Phép cộng hai số nhị phân
Thực hiện từ phải sang trái, giống hệt phép cộng trong hệ thập phân, chỉ khác ở quy tắc “nhớ” dựa trên bảng cộng nhị phân.

Ví dụ SGK: $11011_2 + 11010_2$
1 1 0 1 1
+ 1 1 0 1 0
-----------
1 1 0 1 0 1
Kiểm tra: $11011_2 = 27$, $11010_2 = 26$, $110101_2 = 53$ → $27 + 26 = 53$ ✓
c) Phép nhân hai số nhị phân
Thực hiện giống phép nhân thập phân: nhân thừa số thứ nhất lần lượt với từng chữ số của thừa số thứ hai (từ phải sang trái), đặt kết quả lệch dần sang trái, rồi cộng tất cả lại.
Ví dụ SGK: $1101_2 \times 101_2$
1 1 0 1
× 1 0 1
---------
1 1 0 1 (× 1)
0 0 0 0 (× 0, dịch trái 1)
1 1 0 1 (× 1, dịch trái 2)
---------------
1 0 0 0 0 0 1
Kiểm tra: $1101_2 = 13$, $101_2 = 5$, $1000001_2 = 65$ → $13 \times 5 = 65$ ✓
d) Quy trình tính toán trên máy tính

Mọi phép tính trên máy tính đều theo 3 bước:
$$\boxed{\text{Bước 1: Mã hóa}} \rightarrow \boxed{\text{Bước 2: Tính trong hệ nhị phân}} \rightarrow \boxed{\text{Bước 3: Giải mã kết quả}}$$
- Bước 1 – Mã hóa dữ liệu: Đổi các toán hạng từ hệ thập phân sang hệ nhị phân.
- Bước 2 – Thực hiện phép tính: Cộng/nhân trực tiếp trong hệ nhị phân.
- Bước 3 – Giải mã kết quả: Đổi kết quả từ hệ nhị phân sang hệ thập phân.
II. Phương pháp giải các dạng bài tập
Dạng 1: Đổi số giữa hệ thập phân và hệ nhị phân
1a. Đổi thập phân → nhị phân
Phương pháp: Chia liên tiếp cho 2, ghi dư, viết dư từ dưới lên.
Bài tập mẫu (SGK – Câu hỏi mục 1, bài 1b): Đổi $155_{10}$ sang hệ nhị phân.
| Phép chia | Thương | Dư |
|---|---|---|
| $155 \div 2$ | 77 | 1 |
| $77 \div 2$ | 38 | 1 |
| $38 \div 2$ | 19 | 0 |
| $19 \div 2$ | 9 | 1 |
| $9 \div 2$ | 4 | 1 |
| $4 \div 2$ | 2 | 0 |
| $2 \div 2$ | 1 | 0 |
| $1 \div 2$ | 0 | 1 |
Viết dư từ dưới lên: $155_{10} = 10011011_2$
1b. Đổi nhị phân → thập phân
Phương pháp: Ghi dãy lũy thừa $2^0, 2^1, 2^2, \ldots$ dưới từng bit (từ phải sang trái), cộng các giá trị ứng với bit 1.
Bài tập mẫu (SGK – Câu hỏi mục 1, bài 2a): Đổi $110011_2$ sang hệ thập phân.
| Vị trí (k) | 5 | 4 | 3 | 2 | 1 | 0 |
|---|---|---|---|---|---|---|
| Bit | 1 | 1 | 0 | 0 | 1 | 1 |
| Giá trị $2^k$ | 32 | 16 | 8 | 4 | 2 | 1 |
$$110011_2 = 32 + 16 + 0 + 0 + 2 + 1 = 51_{10}$$
Dạng 2: Cộng và nhân hai số trong hệ nhị phân
2a. Phép cộng nhị phân
Phương pháp:
- Viết hai số thẳng hàng (căn phải), cộng từ phải sang trái.
- Áp dụng bảng cộng: $0+0=0$; $0+1=1$; $1+0=1$; $1+1=10$ (ghi 0 nhớ 1).
- Nếu $1+1$ mà có thêm nhớ 1 → $1+1+1=11$ (ghi 1 nhớ 1).
Bài tập mẫu (SGK – Câu hỏi mục 2): Tính $101101_2 + 11001_2$
1 0 1 1 0 1
+ 0 1 1 0 0 1
----------------
Cộng từng cột (phải → trái):
| Cột | Phép tính | Kết quả | Ghi | Nhớ |
|---|---|---|---|---|
| 0 | $1 + 1$ | 10 | 0 | 1 |
| 1 | $0 + 0 + 1$ | 1 | 1 | 0 |
| 2 | $1 + 0$ | 1 | 1 | 0 |
| 3 | $1 + 1$ | 10 | 0 | 1 |
| 4 | $0 + 1 + 1$ | 10 | 0 | 1 |
| 5 | $1 + 0 + 1$ | 10 | 0 | 1 |
| 6 | nhớ 1 | 1 | 1 | — |
$$101101_2 + 11001_2 = 1000110_2$$
Kiểm tra: $45 + 25 = 70$; $1000110_2 = 64 + 4 + 2 = 70$ ✓
2b. Phép nhân nhị phân
Phương pháp:
- Nhân thừa số thứ nhất lần lượt với từng bit của thừa số thứ hai (từ phải sang trái).
- Nếu bit đang xét = 1 → chép lại thừa số thứ nhất (dịch trái tương ứng).
- Nếu bit đang xét = 0 → viết toàn 0 (dịch trái tương ứng).
- Cộng tất cả các tích trung gian lại.
Bài tập mẫu (SGK – Câu hỏi mục 2): Tính $100111_2 \times 1011_2$
1 0 0 1 1 1
× 1 0 1 1
----------------
1 0 0 1 1 1 (× 1)
1 0 0 1 1 1 (× 1, dịch trái 1)
0 0 0 0 0 0 (× 0, dịch trái 2)
1 0 0 1 1 1 (× 1, dịch trái 3)
-----------------------
1 1 0 1 0 1 1 0 1
Kiểm tra: $100111_2 = 39$, $1011_2 = 11$, $39 \times 11 = 429$; $110101101_2 = 256 + 128 + 32 + 8 + 4 + 1 = 429$ ✓
Dạng 3: Thực hiện phép tính theo quy trình 3 bước (mã hóa → tính → giải mã)
Phương pháp:
- Bước 1: Đổi tất cả các toán hạng từ thập phân sang nhị phân (dùng phương pháp chia liên tiếp cho 2).
- Bước 2: Thực hiện phép tính (cộng hoặc nhân) trực tiếp trên hệ nhị phân.
- Bước 3: Đổi kết quả từ nhị phân về thập phân (tính tổng lũy thừa) để kiểm tra.
Bài tập mẫu 1 (SGK – Luyện tập, bài 1a): Tính $125 + 17$ theo quy trình 3 bước.
Bước 1 – Mã hóa:
$125_{10}$: chia liên tiếp cho 2 → $1111101_2$
$17_{10}$: chia liên tiếp cho 2 → $10001_2$
Bước 2 – Cộng trong hệ nhị phân:
1 1 1 1 1 0 1
+ 0 0 1 0 0 0 1
------------------
1 0 0 0 1 1 1 0
Bước 3 – Giải mã:
$10001110_2 = 128 + 8 + 4 + 2 = 142_{10}$
Kiểm tra: $125 + 17 = 142$ ✓
Bài tập mẫu 2 (SGK – Luyện tập, bài 2a): Tính $15 \times 6$ theo quy trình 3 bước.
Bước 1 – Mã hóa:
$15_{10} = 1111_2$
$6_{10} = 110_2$
Bước 2 – Nhân trong hệ nhị phân:
1 1 1 1
× 1 1 0
-----------
0 0 0 0 (× 0)
1 1 1 1 (× 1, dịch trái 1)
1 1 1 1 (× 1, dịch trái 2)
-----------------
1 0 1 1 0 1 0
Bước 3 – Giải mã:
$1011010_2 = 64 + 16 + 8 + 2 = 90_{10}$
Kiểm tra: $15 \times 6 = 90$ ✓
III. Sơ đồ tư duy
1. Hệ nhị phân
- 1.1. Chỉ dùng 2 chữ số: 0 và 1
- 1.2. Giá trị vị trí: bit thứ $k$ (từ phải, bắt đầu 0) mang giá trị $2^k$
- 1.3. Kí hiệu: chỉ số dưới phân biệt hệ đếm ($19_{10}$, $10011_2$)
2. Đổi cơ số
- 2.1. Thập phân → Nhị phân: chia liên tiếp cho 2, viết dư từ dưới lên
- 2.2. Nhị phân → Thập phân: tính tổng $d_k \times 2^k + \ldots + d_0 \times 2^0$
3. Biểu diễn số nguyên trong máy tính
- 3.1. Số nguyên không dấu: đổi sang nhị phân, thêm bit 0 bên trái cho đủ byte
- 3.2. Số nguyên có dấu: bit trái nhất = bit dấu (0: dương, 1: âm)
- Mã thuận, mã bù 1, mã bù 2
4. Phép tính số học nhị phân
- 4.1. Bảng cộng: $1 + 1 = 10$ (ghi 0 nhớ 1)
- 4.2. Phép cộng: thực hiện từ phải sang trái, có nhớ
- 4.3. Phép nhân: nhân từng bit, dịch trái, rồi cộng lại
- 4.4. Quy trình máy tính: Mã hóa → Tính nhị phân → Giải mã
IV. Sai lầm thường gặp
| Sai lầm | Đính chính |
|---|---|
| Viết $1 + 1 = 2$ trong hệ nhị phân | Hệ nhị phân không có chữ số 2. Đúng: $1 + 1 = 10_2$ (ghi 0, nhớ 1 sang hàng trái). |
| Khi đổi thập phân → nhị phân, viết dư từ trên xuống | Phải viết các số dư theo chiều từ dưới lên (dư cuối cùng là bit cao nhất, dư đầu tiên là bit thấp nhất). |
| Nhầm lẫn giữa bit dấu và bit dữ liệu | Bit tận cùng bên trái trong biểu diễn số nguyên có dấu là bit dấu: 0 = dương, 1 = âm. Không được nhầm nó là phần giá trị của số. |
| Khi cộng $1 + 1 + 1$ (có nhớ) viết kết quả là $10$ | Đúng: $1 + 1 + 1 = 11_2$ (ghi 1, nhớ 1 sang hàng kế tiếp). $10_2$ chỉ là kết quả của $1 + 1$ (không có nhớ). |
| Quên bổ sung bit 0 khi đưa số vào bộ nhớ | Bộ nhớ tổ chức theo byte (8 bit, 16 bit…). Số $10011_2$ (5 bit) cần thêm 3 bit 0 bên trái cho đủ 1 byte: 00010011. |
| Khi nhân nhị phân, quên dịch trái kết quả trung gian | Giống nhân thập phân: mỗi lần nhân với bit tiếp theo phải dịch sang trái 1 vị trí so với lần trước. Quên dịch sẽ cho kết quả sai hoàn toàn. |

Thầy Phạm Thành Danh
(Người kiểm duyệt, ra đề)
Chức vụ: Trưởng ban biên soạn môn Tin Học THPT
Trình độ: Cử nhân Sư phạm Tin học, Chứng chỉ hạng II, Chứng chỉ Tin học, Ngoại ngữ B1
Kinh nghiệm: 8+ năm kinh nghiệm tại Trường THPT Thuận Hóa
