Giải Tin Học 10 trang 20

Lời giải chi tiết SGK Lớp 10 · Môn Tin Học · Trang 20–23

Bài 4: Hệ Nhị Phân và Dữ Liệu Số Nguyên

⚠️ Lưu ý quan trọng: Bản trích trong đề bị lỗi mã hóa phông chữ nên hầu hết các con số cụ thể của bài tập đã bị mất. Vì vậy mình sẽ trình bày đầy đủ lý thuyếtgiải mẫu chi tiết bằng đúng các con số ví dụ trong sách (13, 19, 51, 12...). Em chỉ cần thay số trong sách của mình vào và làm theo y hệt các bước — phương pháp hoàn toàn giống nhau.

🔍 Kiến thức cần nhớ

1. Hệ nhị phân là gì?

  • Hệ nhị phân (hệ cơ số 2) chỉ dùng 2 chữ số: 0 và 1, gọi là các chữ số nhị phân (bit).
  • Mỗi chữ số ở một hàng có giá trị gấp 2 lần chữ số ở hàng liền kề bên phải.
  • Chữ số ở vị trí thứ k (tính từ phải sang trái, bắt đầu từ 0) mang trọng số 2^k.
  • Để phân biệt hệ đếm, người ta ghi cơ số làm chỉ số dưới: ví dụ (1101)₂ là số viết trong hệ nhị phân.

2. Hai chiều đổi số

Thập phân → Nhị phân: chia liên tiếp cho 2, lấy số dư, viết các số dư từ dưới lên.

Nhị phân → Thập phân: tính tổng các luỹ thừa của 2 ứng với bit 1:

(dₙ dₙ₋₁ … d₁ d₀)₂ = dₙ×2^n + dₙ₋₁×2^(n-1) + … + d₁×2^1 + d₀×2^0

💡 Mẹo nhớ: Hãy thuộc bảng luỹ thừa của 2: 2^0=1, 2^1=2, 2^2=4, 2^3=8, 2^4=16, 2^5=32, 2^6=64, 2^7=128, 2^8=256.

3. Biểu diễn số nguyên trong máy tính

  • Số nguyên không dấu: chính là biểu diễn nhị phân của số, đưa vào bộ nhớ theo từng byte (1 byte = 8 bit). Nếu thiếu bit thì bổ sung bit 0 vào bên trái.
  • Số nguyên có dấu: dành 1 bit ngoài cùng bên trái làm bit dấu (0 = dương, 1 = âm). Có ba cách mã hoá: mã thuận (dấu–lượng), mã bù 1 (mã đảo), mã bù 2.
  • Với số dương, cả ba cách giống nhau; với số âm, ba cách khác nhau.

4. Phép tính trong hệ nhị phân

Bảng cộng và nhân:

xyx+yx×y
0000
0110
1010
11101

Lưu ý: 1 + 1 = 10 (ghi 0, nhớ 1); 1 + 1 + 1 = 11 (ghi 1, nhớ 1).


⚙️ Bài tập

Hoạt động 1 — Biểu diễn một số dưới dạng tổng luỹ thừa của 2

Đề bài: Em hãy viết số (theo sách, ví dụ 19) thành một tổng các luỹ thừa của 2.

Cách 1 — Tách dần theo gợi ý của sách

Lập danh sách luỹ thừa của 2: 1, 2, 4, 8, 16, 32, …
Lấy luỹ thừa lớn nhất không vượt quá 19 rồi trừ dần:

  • 19 − 16 = 3 (dùng 2^4 = 16)
  • 3 − 2 = 1 (dùng 2^1 = 2)
  • 1 − 1 = 0 (dùng 2^0 = 1)

Vậy: 19 = 16 + 2 + 1 = 2^4 + 2^1 + 2^0

Cách 2 — Đổi sang nhị phân rồi đọc các bit 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.

Đọc từ dưới lên: 19 = (10011)₂. Các bit 1 ở vị trí 4, 1, 0 → 2^4 + 2^1 + 2^0. ✔


Câu hỏi mục 1 – Câu 1

Đề bài: Đổi các số từ hệ thập phân sang hệ nhị phân.

Cách 1 — Chia liên tiếp cho 2 (phương pháp sách giáo khoa)

Ví dụ mẫu với số 13:

Phép chiaThươngSố dư
13 : 261
6 : 230
3 : 211
1 : 201

Viết số dư từ dưới lên: 13 = (1101)₂

Cách 2 — Tách thành tổng luỹ thừa của 2

13 = 8 + 4 + 1 = 2^3 + 2^2 + 2^0 → các vị trí 3, 2, 0 là bit 1, vị trí 1 là 0
(1101)₂. ✔

⚠️ Lưu ý thi: Khi viết kết quả, đếm đủ số chữ số. Sai phổ biến nhất là quên ghi bit 0 ở giữa (ví dụ ghi nhầm 13 thành 111).

Câu hỏi mục 1 – Câu 2

Đề bài: Đổi các số từ hệ nhị phân sang hệ thập phân.

Cách 1 — Tính tổng luỹ thừa của 2 (sách giáo khoa)

Ví dụ mẫu với (1101)₂:

(1101)₂ = 1×2^3 + 1×2^2 + 0×2^1 + 1×2^0 = 8 + 4 + 0 + 1 = 13

Cách 2 — Phương pháp Horner (nhân dồn)

Duyệt các bit từ trái sang phải, mỗi bước: kết quả × 2 + bit hiện tại.
1 → (1×2+1)=3 → (3×2+0)=6 → (6×2+1)=13. ✔

💡 Mẹo nhớ: Cách Horner tính rất nhanh khi số nhị phân dài, không cần nhớ bảng luỹ thừa.

Hoạt động 2 — Phép tính trong hệ nhị phân

Đề bài: Chuyển các toán hạng của hai phép tính sang hệ nhị phân để kiểm tra kết quả. (Ví dụ trong sách: 51 → (110011)₂)

a) Bảng cộng và nhân

Đã trình bày ở phần Kiến thức cần nhớ. Điều cần nhớ: 1 + 1 = 10 (ghi 0 nhớ 1).

b) Cộng hai số nhị phân — ví dụ mẫu 51 + 12

Đổi sang nhị phân: 51 = (110011)₂; 12 = (1100)₂ = (001100)₂.

   1 1 0 0 1 1   (51)
 + 0 0 1 1 0 0   (12)
 -------------
   1 1 1 1 1 1   (63)

Cộng từ phải sang trái, có nhớ khi gặp 1+1. Kết quả (111111)₂ = 32+16+8+4+2+1 = 63 ✔ (đúng vì 51 + 12 = 63).

c) Nhân hai số nhị phân — ví dụ mẫu 5 × 6

5 = (101)₂; 6 = (110)₂.

       1 0 1     (5)
   ×   1 1 0     (6)
   -----------
       0 0 0     (101 × 0)
     1 0 1       (101 × 1, dịch trái 1)
   1 0 1         (101 × 1, dịch trái 2)
   -----------
   1 1 1 1 0     (30)

(11110)₂ = 16+8+4+2 = 30 ✔ (đúng vì 5 × 6 = 30).

⚠️ Lưu ý thi: Nhân nhị phân thực chất là dịch trái và cộng: nhân với bit 1 thì chép lại số rồi dịch trái, nhân với bit 0 thì bỏ qua.

Câu hỏi mục 2

Đề bài: Hãy thực hiện các phép tính cộng và nhân trong hệ nhị phân.

Cách 1 — Tính trực tiếp trong hệ nhị phân

Áp dụng bảng cộng/nhân như Hoạt động 2 ở trên cho từng cặp số trong sách.

Cách 2 — Kiểm tra chéo qua hệ thập phân

Đổi sang thập phân, tính kết quả, rồi đổi kết quả trở lại nhị phân để đối chiếu. Nếu hai cách khớp nhau thì phép tính đúng.


Luyện tập – Câu 1

Đề bài: Thực hiện các phép cộng theo quy trình Hình 4.4.

Cách 1 — Theo đúng quy trình 3 bước của máy tính

Quy trình (Hình 4.4): Mã hoá (đổi thập phân → nhị phân) → Thực hiện phép tính trong hệ nhị phân → Giải mã (đổi kết quả nhị phân → thập phân).

Ví dụ mẫu 7 + 8:

  1. Mã hoá: 7 = (0111)₂; 8 = (1000)₂
  2. Tính: (0111)₂ + (1000)₂ = (1111)₂
  3. Giải mã: (1111)₂ = 8+4+2+1 = 15
Cách 2 — Tính thẳng trong thập phân để đối chiếu

7 + 8 = 15 → đổi 15 sang nhị phân = (1111)₂, khớp với bước 2. ✔


Luyện tập – Câu 2

Đề bài: Thực hiện các phép nhân theo quy trình Hình 4.4.

Cách 1 — Theo quy trình 3 bước

Ví dụ mẫu 3 × 5:

  1. Mã hoá: 3 = (11)₂; 5 = (101)₂
  2. Nhân nhị phân:
       1 0 1
   ×       1 1
   ---------
       1 0 1
     1 0 1
   ---------
     1 1 1 1
  1. Giải mã: (1111)₂ = 15
Cách 2 — Kiểm tra qua thập phân

3 × 5 = 15 = (1111)₂, khớp kết quả. ✔


Vận dụng – Câu 1

Đề bài: Tìm hiểu cách đổi phần thập phân (phần lẻ sau dấu phẩy) của một số từ hệ thập phân sang hệ nhị phân.

Trả lời: Phần lẻ được đổi bằng cách nhân liên tiếp với 2, mỗi lần lấy phần nguyên (0 hoặc 1) làm chữ số, viết các phần nguyên theo thứ tự từ trên xuống.

Ví dụ đổi 0,625:

  • 0,625 × 2 = 1,25 → phần nguyên 1
  • 0,25 × 2 = 0,5 → phần nguyên 0
  • 0,5 × 2 = 1,0 → phần nguyên 1, phần lẻ = 0 → dừng

Đọc từ trên xuống: 0,625 = (0,101)₂.

⚠️ Lưu ý: Nhiều phân số thập phân (như 0,1) khi đổi sang nhị phân là vô hạn tuần hoàn, nên máy tính chỉ lưu gần đúng — đó là lý do tính toán số thực đôi khi có sai số nhỏ.

Vận dụng – Câu 2

Đề bài: Tìm hiểu về mã bù 2 với hai nội dung: a) cách lập, b) công dụng.

a) Mã bù 2 được lập như thế nào?

Với một số nguyên âm, mã bù 2 được lập theo các bước:

  1. Viết biểu diễn nhị phân của giá trị tuyệt đối của số đó (đủ n bit).
  2. Đảo tất cả các bit (0 thành 1, 1 thành 0) → được mã bù 1.
  3. Cộng thêm 1 vào kết quả → được mã bù 2.

Ví dụ với số −5 trên 8 bit:

  • |−5| = 5 = 0000 0101
  • Đảo bit: 1111 1010 (mã bù 1)
  • Cộng 1: 1111 1011 → mã bù 2 của −5 là 1111 1011

(Số dương giữ nguyên biểu diễn nhị phân bình thường.)

b) Mã bù 2 được dùng để làm gì?
  • Để biểu diễn số nguyên có dấu trong máy tính.
  • Ưu điểm lớn: máy tính có thể dùng cùng một mạch cộng để thực hiện cả phép cộng và phép trừ (vì a − b = a + (mã bù 2 của b)), không cần mạch trừ riêng.
  • Tránh được vấn đề "hai số 0" (số 0 dương và số 0 âm) như ở mã thuận và mã bù 1, nên được hầu hết máy tính hiện nay sử dụng.

🎯 Ghi nhớ: - Thập phân → nhị phân: chia liên tiếp cho 2, đọc số dư từ dưới lên. - Nhị phân → thập phân: tổng các luỹ thừa của 2 ở vị trí bit 1. - 1 + 1 = 10 trong hệ nhị phân — đây là quy tắc gốc của mọi phép cộng. - Máy tính tính toán theo quy trình: mã hoá → tính trong hệ nhị phân → giải mã. - Mã bù 2 giúp máy biểu diễn số âm và biến phép trừ thành phép cộng.

Nếu em gửi lại các con số cụ thể trong sách (phần bị mờ trong bản trích), mình sẽ giải chính xác từng câu với đúng số liệu đó nhé.

Chế độ đọc sách →