Giáo trình Kỹ thuật số - Chương 1: Các hệ thống số & mã
Nhu cầu về định lượng trong quan hệ giữa con người với nhau, nhất là trong những
trao đổi thương mại, đã có từ khi xã hội hình thành. Đã có rất nhiều cố gắng trong việc tìm
kiếm các vật dụng, các ký hiệu . . . dùng cho việc định lượng này như các que gỗ, vỏ sò, số
La mã . . . Hiện nay số Ả rập tỏ ra có nhiều ưu điểm khi được sử dụng trong định lượng, tính
toán. . . ..
Việc sử dụng hệ thống số hằng ngày trở nên quá quen thuộc khiến chúng ta có thể đã
quên đi sự hình thành và các qui tắc để viết các con số.
Chương này nhắc lại một cách sơ lược nguyên lý của việc viết số và giới thiệu các hệ
thống số khác ngoài hệ thống thập phân quen thuộc, phương pháp biến đổi qua lại của các số
trong các hệ thống khác nhau. Chúng ta sẽ đặc biệt quan tâm đến hệ thống nhị phân là hệ
thống được dùng trong lãnh vực điện tử-tin học như là một phương tiện để giải quyết các vấn
đề mang tính logic.
Phần cuối của chương sẽ giới thiệu các loại mã thông dụng để chuẩn bị cho các
chương kế tiếp.
trao đổi thương mại, đã có từ khi xã hội hình thành. Đã có rất nhiều cố gắng trong việc tìm
kiếm các vật dụng, các ký hiệu . . . dùng cho việc định lượng này như các que gỗ, vỏ sò, số
La mã . . . Hiện nay số Ả rập tỏ ra có nhiều ưu điểm khi được sử dụng trong định lượng, tính
toán. . . ..
Việc sử dụng hệ thống số hằng ngày trở nên quá quen thuộc khiến chúng ta có thể đã
quên đi sự hình thành và các qui tắc để viết các con số.
Chương này nhắc lại một cách sơ lược nguyên lý của việc viết số và giới thiệu các hệ
thống số khác ngoài hệ thống thập phân quen thuộc, phương pháp biến đổi qua lại của các số
trong các hệ thống khác nhau. Chúng ta sẽ đặc biệt quan tâm đến hệ thống nhị phân là hệ
thống được dùng trong lãnh vực điện tử-tin học như là một phương tiện để giải quyết các vấn
đề mang tính logic.
Phần cuối của chương sẽ giới thiệu các loại mã thông dụng để chuẩn bị cho các
chương kế tiếp.
Bạn đang xem tài liệu "Giáo trình Kỹ thuật số - Chương 1: Các hệ thống số & mã", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.
File đính kèm:
- giao_trinh_ky_thuat_so_chuong_1_cac_he_thong_so_ma.pdf
Nội dung text: Giáo trình Kỹ thuật số - Chương 1: Các hệ thống số & mã
- ___Chương I : Các Hệ Thống Số I-1 Thí dụ số 1998 trong hệ thập phân có giá trị xác định bởi triển khai theo đa thức của 10: 3 2 1 0 199810 = 1x10 + 9x10 +9x10 + 9x10 = 1000 + 900 + 90 + 8 Trong triển khai, số mũ của đa thức chỉ vị trí của một ký hiệu trong một số với qui ước vị trí của hàng đơn vị là 0, các vị trí liên tiếp về phía trái là 1, 2, 3, . Nếu có phần lẻ, vị trí đầu tiên sau dấu phẩy là -1, các vị trí liên tiếp về phía phải là -2, -3, . Ta thấy, số 9 đầu tiên (sau số 1) có trọng số là 900 trong khi số 9 thứ hai chỉ là 90. Có thể nhận xét là với 2 ký hiệu giống nhau trong hệ 10, ký hiệu đứng trước có trọng số gấp 10 lần ký hiệu đứng ngay sau nó. Điều này hoàn toàn đúng cho các hệ khác, thí dụ, đối với hệ nhị phân ( cơ số 2) thì tỉ lệ này là 2. Tổng quát, một hệ thống số được gọi là hệ b sẽ gồm b ký hiệu trong một tập hợp: Sb = {S0, S1, S2, . . ., Sb-1} Một số N được viết: N = (anan-1an-2. . .ai . . .a0 , a-1a-2 . . .a-m)b với ai ∈ Sb Sẽ có giá trị: n n-1 n-2 i 0 -1 -2 -m N = an b + an-1b + an-2b + . . .+ aib +. . . + a0b + a-1 b + a-2 b +. . .+ a-mb . n i =∑ai b i=− m i aib chính là trọng số của một ký hiệu trong Sb ở vị trí thứ i. 1.2 Các hệ thống số 1.2.1 Hệ cơ số 10 (thập phân, Decimal system) Hệ thập phân là hệ thống số rất quen thuộc, gồm 10 số mã như nói trên. Dưới đây là vài ví dụ số thập phân: 3 2 1 0 N = 199810 = 1x10 + 9x10 + 9x10 + 8x10 = 1x1000 + 9x100 + 9x10 + 8x1 0 -1 -2 N = 3,1410 = 3x10 + 1x10 +4x10 = 3x1 + 1x1/10 + 4x1/100 1.2.2 Hệ cơ số 2 (nhị phân, Binary system) Hệ nhị phân gồm hai số mã trong tập hợp S2 = {0, 1} Mỗi số mã trong một số nhị phân được gọi là một bit (viết tắt của binary digit). Số N trong hệ nhị phân: N = (anan-1an-2. . .ai . . .a0 , a-1a-2 . . .a-m)2 (với ai∈ S2) Có giá trị là: n n-1 i 0 -1 -2 -m N = an 2 + an-12 + . . .+ ai2 +. . . + a02 + a-1 2 + a-2 2 + . . .+ a-m2 an là bit có trọng số lớn nhất, được gọi là bit MSB (Most significant bit) và a-m là bit có trọng số nhỏ nhất, gọi là bit LSB (Least significant bit). 3 2 1 0 -1 Thí dụ: N = 1010,12 = 1x2 + 0x2 + 1x2 + 0x2 + 1x2 = 10,510 1.2.3 Hệ cơ số 8 (bát phân ,Octal system) Hệ bát phân gồm tám số trong tập hợp S8 = {0,1, 2, 3, 4, 5, 6, 7}. Số N trong hệ bát phân: N = (anan-1an-2. . .ai . . .a0 , a-1a-2 . . .a-m)8 (với ai ∈ S8) ___ ___Nguyễn Trung Lập___ KĨ THUẬT SỐ
- ___Chương I : Các Hệ Thống Số I-1 Phần nguyên: Giá trị của phần nguyên xác định nhờ triển khai: n n-1 1 0 PE(N) = anb + an-1b + . . .+ a1b + a0b Hay có thể viết lại n-1 n-2 PE(N) = (anb + an-1b + . . .+ a1)b + a0 n- Với cách viết này ta thấy nếu chia PE(N) cho b, ta được thương số là PE’(N) = (anb 1 n-2 + an-1b + . . .+ a1) và số dư là a0. Vậy số dư của lần chia thứ nhất này chính là số mã có trọng số nhỏ nhất (a0) của phần nguyên. Lặp lại bài toán chia PE’(N) cho b: n-1 n-2 n-2 n-3 PE’(N) = anb + an-1b + . . .+ a1= (anb + an-1b + . . .+ a2)b+ a1 Ta được số dư thứ hai, chính là số mã có trọng số lớn hơn kế tiếp (a1) và thương số n-2 n-3 là PE”(N)= anb + an-1b + . . .+ a2. Tiếp tục bài toán chia thương số có được với b, cho đến khi được số dư của phép chia cuối cùng, đó chính là số mã có trọng số lớn nhất (an) Phần lẻ: Giá trị của phần lẻ xác định bởi: -1 -2 -m PF(N) = a-1 b + a-2 b +. . .+ a-mb Hay viết lại -1 -1 -m+1 PF(N) = b (a-1 + a-2 b +. . .+ a-mb ) -1 -m+1 Nhân PF(N) với b, ta được : bPF(N) = a-1 + (a-2 b +. . .+ a-mb ) = a-1+ PF’(N). Vậy lần nhân thứ nhất này ta được phần nguyên của phép nhân, chính là số mã có trọng số lớn nhất của phần lẻ (a-1) (số a-1 này có thể vẫn là số 0). PF’(N) là phần lẻ xuất hiện trong phép nhân. Tiếp tục nhân PF’(N) với b, ta tìm được a-2 và phần lẻ PF”(N). Lặp lại bài toán nhân phần lẻ với b cho đến khi kết quả có phần lẻ bằng không, ta sẽ tìm được dãy số (a-1a-2 . . .a-m). Chú ý: Phần lẻ của số N khi đổi sang hệ b có thể gồm vô số số hạng (do kết quả của phép nhân luôn khác 0), điều này có nghĩa là ta không tìm được một số trong hệ b có giá trị đúng bằng phần lẻ của số thập phân, vậy tùy theo yêu cầu về độ chính xác khi chuyển đổi mà người ta lấy một số số hạng nhất định. Thí dụ: * Đổi 25,310 sang hệ nhị phân Phần nguyên: 25 : 2 = 12 dư 1 ⇒ a0 = 1 12 : 2 = 6 dư 0 ⇒ a1 = 0 6 : 2 = 3 dư 0 ⇒ a2 = 0 3 : 2 = 1 dư 1 ⇒ a3 = 1 thương số cuối cùng là 1 cũng chính là bit a4: ⇒ a4 = 1 Vậy PE(N) = 11001 Phần lẻ: 0,3 * 2 = 0,6 ⇒ a-1 = 0 0,6 * 2 = 1,2 ⇒ a -2 = 1 0,2 * 2 = 0,4 ⇒ a-3 = 0 0,4 * 2 = 0,8 ⇒ a-4 = 0 0,8 * 2 = 1,6 ⇒ a-5 = 1 . . . ___ ___Nguyễn Trung Lập___ KĨ THUẬT SỐ
- ___Chương I : Các Hệ Thống Số I-1 Cũng như trên nhưng nhóm từng 4 số hạng N = 0101 1111 0101 , 0110 10002 N = 5 F 5 , 6 8 16 Từ kết quả của phép đổi số từ hệ b sang hệ bk, ta có thể suy ra cách biến đổi ngược một cách dễ dàng: Thay mỗi số hạng của số trong hệ bk bằng một số gồm k số hạng trong hệ b. 4 Thí dụ để đổi số N = 5 F5, 6816 (hệ 2 ) sang hệ nhị phân (2) ta dùng 4 bit để viết cho mỗi số hạng của số này: N = 0101 1111 0101 , 0110 10002 1.3.4 Đổi một số từ hệ bk sang hệ bp Qua trung gian của hệ b, ta có thể đổi từ hệ bk sang hệ bp. Muốn đổi số N từ hệ bk sang hệ bp, trước nhất đổi số N sang hệ b rồi từ hệ b tiếp tục đổi sang hệ bp. Thí dụ: - Đổi số 1234,678 sang hệ 16 1234,678 = 001 010 011 100,110 1112 = 0010 1001 1100,1101 11002 = 29C,DCH - Đổi số ABCD,EFH sang hệ 8 ABCD,EFH = 1010 1011 1100 1101,1110 11112 = 1 010 101 111 001 101,111 011 1102 = 125715,7368 Dưới đây là bảng kê các số đầu tiên trong các hệ khác nhau: Thập Nhị Bát Thập lục Thập Nhị Bát Thập lục phân phân phân phân phân phân phân phân 0 0 0 0 13 1101 15 D 1 1 1 1 14 1110 16 E 2 10 2 2 15 1111 17 F 3 11 3 3 16 10000 20 10 4 100 4 4 17 10001 21 11 5 101 5 5 18 10010 22 12 6 110 6 6 19 10011 23 12 7 111 7 7 20 10100 24 14 8 1000 10 8 21 10101 25 15 9 1001 11 9 22 10110 26 16 10 1010 12 A 23 10111 17 17 11 1011 13 B 24 11000 30 18 12 1100 14 C 25 11001 31 19 Bảng 1.1 1.4 Các phép tính trong hệ nhị phân Các phép tính trong hệ nhị phân được thực hiện tương tự như trong hệ thập phân, tuy nhiên cũng có một số điểm cần lưu ý ___ ___Nguyễn Trung Lập___ KĨ THUẬT SỐ
- ___Chương I : Các Hệ Thống Số I-1 1 0 0 0 0 0 1 1.4.4 Phép chia Thí dụ: Chia 1001100100 cho 11000 Lần chia đầu tiên, 5 bit của số bị chia nhỏ hơn số chia nên ta được kết quả là 0, sau đó ta lấy 6 bit của số bị chia để chia tiếp (tương ứng với việc dịch phải số chia 1 bit trước khi thực hiện phép trừ) Kết quả : (11001.1) 2 = (25.5)10 1.5 Mã hóa 1.5.1 Tổng quát Mã hóa là gán một ký hiệu cho một đối tượng để thuận tiện cho việc thực hiện một yêu cầu cụ thể nào đó. Một cách toán học, mã hóa là một phép áp một đối một từ một tập hợp nguồn vào một tập hợp khác gọi là tập hợp đích. (H 1.1) Tập hợp nguồn có thể là tập hợp các số, các ký tự, dấu, các lệnh dùng trong truyền dữ liệu . . . và tập hợp đích thường là tập hợp chứa các tổ hợp thứ tự của các số nhị phân. Một tổ hợp các số nhị phân tương ứng với một số được gọi là từ mã. Tập hợp các từ mã được tạo ra theo một qui luật cho ta một bộ mã. Việc chọn một bộ mã tùy vào mục đích sử dụng. Thí dụ để biểu diễn các chữ và số, người ta có mã ASCII (American Standard Code for Information Interchange), mã Baudot, EBCDIC . . Trong truyền dữ liệu ta có mã dò lỗi, dò và sửa lỗi, mật mã . . Vấn đề ngược lại mã hóa gọi là giải mã. ___ ___Nguyễn Trung Lập___ KĨ THUẬT SỐ
- ___Chương I : Các Hệ Thống Số I-1 (H 1.2) Để thiết lập mã Gray của số nhiều bit ta có thể thực hiện các bước liên tiếp từ tập hợp đầu tiên của số một bit (gồm hai bit 0, 1). Dưới đây là các bước tạo mã Gray của số 4 bit. Cột bên phải của bảng mã 4 bit cho giá trị tương đương trong hệ thập phân của mã Gray tương ứng (H 1.3). Trị thập phân tương đương 0 0 0 0 0 00 0 0 → 0 1 0 1 ⎯⎯→ 0 0 0 0 0 1 → 1 ⎯→ 0 1 1 ⏐ 1 1 ⏐ 0 1 0 0 1 1 → 2 bit 1 0 ⏐ 0 1 ⎯⎯→ 0 0 1 0 → 3 ⎯→ 1 0 2 bi ⏐ 1 1 ⏐ 0 1 1 0 → 4 t ⎯⎯→ 1 0 ⏐ 0 1 1 1 → 5 1 1 10 ⏐ 0 1 0 1 → 6 1 1 ⏐ 0 1 0 0 → 7 0 0 3 bi ⏐ 1 1 0 0 → 8 t ⏐ 1 1 0 1 → 9 ⏐ 1 1 1 1 → 10 ⎯⎯→ 1 1 1 0 → 11 10 1 0 → 12 1 0 1 1 → 13 10 0 1 → 14 1 0 0 0 → 15 4 bit (H 1.3) ___ ___Nguyễn Trung Lập___ KĨ THUẬT SỐ