Đại số nhị phân


🎯 Mục tiêu bài học

Sau khi học xong chương này, sinh viên có thể:

  • Thực hiện các phép toán số học cơ bản trong hệ nhị phân: cộng, trừ, nhân, chia.
  • Hiểu và vận dụng đại số Boole để phân tích và thiết kế mạch logic.
  • Biểu diễn và rút gọn các hàm logic bằng biểu thức Boole.
  • Hiểu ý nghĩa và ứng dụng của phân rã Shannon trong thiết kế mạch.
  • Biết cách biểu diễn số thực theo chuẩn IEEE 754.

2.1. PHÉP TOÁN SỐ HỌC TRONG HỆ NHỊ PHÂN

🔹 Cộng nhị phân

Quy tắc cộng hai bit:

Bit ABit BTổngNhớ
0000
0110
1010
1101

🔸 Ví dụ:

  1011
+ 0110
-------
10001

(Giống cộng tay, nhưng theo cơ số 2)


🔹 Trừ nhị phân

Quy tắc trừ hai bit (A – B):

ABHiệuMượn
0000
1010
1100
0111

🔸 Ví dụ:

  1010
– 0011
-------
0111

Hoặc thực hiện phép trừ bằng cách cộng với số bù hai của số trừ.


🔹 Nhân nhị phân

Tương tự nhân tay thập phân, nhưng chỉ nhân với 0 hoặc 1.

🔸 Ví dụ:

  1010
× 11
-------
1010 (1010 × 1)
1010 (dời trái 1 bit)
-------
11110

🔹 Chia nhị phân

Tương tự chia tay, sử dụng phép trừ lặp.

🔸 Ví dụ:

 1101 ÷ 10 = 110 dư 1
→ 13 ÷ 2 = 6 dư 1

Ta chia giống như chia tay, nhưng tất cả thao tác là nhị phân.

     ________
10 | 1101

Chia như sau:

  1. Lấy 2 bit đầu của số bị chia: 11 → lớn hơn 10 → chia được.
    • 11 ÷ 10 (3 ÷ 2): được 1, dư 1
    • Viết 1 vào thương.
    • Lấy phần dư 1 nối với bit tiếp theo 0 → thành 10
  2. 10 ÷ 10 = 1, dư 0
    • Viết tiếp 1 vào thương
    • Nối phần dư (0) với bit tiếp theo (1) → 01
  3. 01 ÷ 10 → không chia được → ghi 0 vào thương
    • Giữ lại 01 làm dư

👉 Kết quả:

    110   ← thương
10 | 1101
---
dư 1

✅ Vậy:

  • Thương (quotient) = 110 (tức là 6)
  • Dư (remainder) = 1

🧪 Kiểm tra lại:

6 × 2 = 12  
12 + 1 = 13 ✅ Đúng rồi!

📌 Tổng quát:

  • Khi chia nhị phân, thao tác giống chia tay nhưng ta dùng quy tắc logic nhị phân (chỉ có 0 và 1).
  • Với mỗi bước, ta:
    • So sánh phần chia với số chia.
    • Nếu đủ lớn, ta trừ và ghi 1 vào thương.
    • Nếu không đủ, ghi 0.

2.2. ĐẠI SỐ BOOLE

🔹 Định nghĩa

Đại số Boole là hệ thống toán học dùng để mô tả các giá trị logic: 0 (False) và 1 (True).

🔹 Các phép toán cơ bản:

Phép toánKý hiệuDiễn giải
NOTPhủ định A
ANDA·BA và B
ORA + BA hoặc B

🔹 Bảng sự thật (Truth Table)

ABA AND BA OR BNOT A
00001
01011
10010
11110

2.3. HÀM BOOLE

Hàm Boole là hàm chỉ nhận đầu vào và đầu ra ở hai mức: 0 hoặc 1.

🔸 Ví dụ:

F(A, B, C) = A·B + A̅·C

🔹 Mục tiêu:

  • Viết được biểu thức hàm logic từ bảng chân trị.
  • Rút gọn biểu thức để thiết kế mạch tối ưu.

2.4. RÚT GỌN HÀM BOOLE – PHÂN RÃ SHANNON

🔹 Phân rã Shannon:

Cho phép biểu diễn hàm Boole theo biến điều kiện X:

F = X·F₁ + X̅·F₀

Trong đó:

  • F₁ là hàm khi X = 1.
  • F₀ là hàm khi X = 0.

🔸 Ví dụ:

F(A, B) = A·B + A̅·B = B (rút gọn theo phân rã Shannon theo A)

Phân rã giúp chia để trị, dễ dàng tối ưu hóa thiết kế mạch tổ hợp.


2.5. CHUẨN IEEE 754 CHO SỐ THỰC

Chuẩn IEEE 754 được dùng để mã hóa số thực trong máy tính.

🔹 Cấu trúc của số thực 32-bit (single precision):

BitÝ nghĩa
1Dấu (Sign)
8Số mũ (Exponent)
23Phần trị (Mantissa)

🔸 Ví dụ:

Biểu diễn số thực 5.75:

- Dạng nhị phân: 101.11
- Dạng chuẩn hóa: 1.0111 × 2²
→ S = 0, E = 127 + 2 = 129 = 10000001
→ M = 01110000000000000000000
→ Chuỗi IEEE 754: 0 10000001 01110000000000000000000

📚 GHI NHỚ NHANH

Nội dungGhi nhớ
Cộng 1 + 1= 0, nhớ 1
Trừ 0 – 1= 1, mượn 1
Biểu thức BooleGồm các phép AND, OR, NOT
Phân rã ShannonF = X·F₁ + X̅·F₀
IEEE 754 (32-bit float)1 bit dấu – 8 bit số mũ – 23 bit trị số

🧪 BÀI TẬP ÁP DỤNG

Bài 1:

Thực hiện các phép toán:

  • a) 1101 + 1011
  • b) 10100 – 1101
  • c) 101 × 11
  • d) 1110 ÷ 10

Bài 2:

Viết bảng chân trị và rút gọn các hàm sau:

  • a) F(A, B) = A·B + A·B̅
  • b) F(A, B, C) = A·C + A̅·B̅·C

Bài 3:

Áp dụng phân rã Shannon để rút gọn hàm:

F(A, B, C) = A·B + A̅·C

Bài 4:

Biểu diễn số thực –7.25 theo chuẩn IEEE 754 32-bit.