Bài giảng Điện 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.
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.
Bạn đang xem tài liệu "Bài giảng Điện 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:
- bai_giang_dien_tu_so_chuong_1_cac_he_thong_so_ma.pdf
Nội dung text: Bài giảng Điện tử số - Chương 1: Các hệ thống số & mã
- ___Chương I : Các Hệ Thống Số I-1 CHƯƠNG 1: CÁC HỆ THỐNG SỐ & MÃ U NGUYÊN LÝ CỦA VIỆC VIẾT SỐ U CÁC HỆ THỐNG SỐ Ò Hệ cơ số 10 (thập phân) Ò Hệ cơ số 2 (nhị phân) Ò Hệ cơ số 8 (bát phân) Ò Hệ cơ số 16 (thâp lục phân) U BIẾN ĐỔI QUA LẠI GIỮA CÁC HỆ THỐNG SỐ Ò Đổi từ hệ b sang hệ 10 Ò Đổi từ hệ 10 sang hệ b Ò Đổi từ hệ b sang hệ bk & ngược lại Ò Đổi từ hệ bk sang hệ bp U CÁC PHÉP TOÁN Số NHị PHÂN Ò Phép cộng Ò Phép trừ Ò Phép nhân Ò Phép chia U MÃ HÓA Ò Mã BCD Ò Mã Gray 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. 1.1 Nguyên lý của việc viết số Một số được viết bằng cách đặt kề nhau các ký hiệu, được chọn trong một tập hợp xác định. Mỗi ký hiệu trong một số được gọi là số mã (số hạng, digit). Thí dụ, trong hệ thống thập phân (cơ số 10) tập hợp này gồm 10 ký hiệu rất quen thuộc, đó là các con số từ 0 đến 9: S10 = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} Khi một số gồm nhiều số mã được viết, giá trị của các số mã tùy thuộc vị trí của nó trong số đó. Giá trị này được gọi là trọng số của số mã. ___ ___Nguyễn Trung Lập___ KĨ THUẬT SỐ
- ___Chương I : Các Hệ Thống Số I-1 Có giá trị là: n n-1 n-2 i 0 -1 -2 -m N = an 8 + an-18 + an-28 +. . + ai8 . . .+a08 + a-1 8 + a-2 8 +. . .+ a-m8 3 2 1 0 -1 Thí dụ: N = 1307,18 = 1x8 + 3x8 + 0x8 + 7x8 + 1x8 = 711,12510 1.2.4 Hệ cơ số 16 (thập lục phân, Hexadecimal system) Hệ thập lục phân được dùng rất thuận tiện để con người giao tiếp với máy tính, hệ này gồm mười sáu số trong tập hợp S16 ={0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F } (A tương đương với 1010 , B =1110 , . . . . . . , F=1510) . Số N trong hệ thập lục phân: N = (anan-1an-2. . .ai . . .a0 , a-1a-2 . . .a-m)16 (với ai∈ S16) Có giá trị là: n n-1 n-2 i 0 -1 -2 -m N = an 16 + an-116 + an-216 +. . + ai16 . . .+a016 + a-1 16 + a-2 16 +. . .+ a-m16 Người ta thường dùng chữ H (hay h) sau con số để chỉ số thập lục phân. 3 2 1 0 -1 Thí dụ: N = 20EA,8H = 20EA,816 = 2x16 + 0x16 + 14x16 + 10x16 + 8x16 = 4330,510 1.3 Biến đổi qua lại giữa các hệ thống số Khi đã có nhiều hệ thông số, việc xác định giá trị tương đương của một số trong hệ này so với hệ kia là cần thiết. Phần sau đây cho phép ta biến đổi qua lại giữa các số trong bất cứ hệ nào sang bất cứ hệ khác trong các hệ đã được giới thiệu. 1.3.1 Đổi một số từ hệ b sang hệ 10 Để đổi một số từ hệ b sang hệ 10 ta triển khai trực tiếp đa thức của b Một số N trong hệ b: N = (anan-1an-2. . .ai . . .a0 , a-1a-2 . . .a-m)b với ai ∈ Sb Có giá trị tương đương trong hệ 10 là: n n-1 i 0 -1 -2 -m N = an b + an-1b +. . .+ aib +. . . + a0b + a-1 b + a-2 b +. . .+ a-mb . Thí dụ: * Đổi số 10110,112 sang hệ 10 4 2 -1 -2 10110,112 = 1x2 + 0 + 1x2 + 1x2 + 0 + 1x2 + 1x2 = 22,7510 * Đổi số 4BE,ADH sang hệ 10 2 1 0 -1 -2 4BE,ADH=4x16 +11x16 +14x16 +10x16 +13x16 = 1214,67510 1.3.2 Đổi một số từ hệ 10 sang hệ b Đây là bài toán tìm một dãy ký hiệu cho số N viết trong hệ b. Tổng quát, một số N cho ở hệ 10, viết sang hệ b có dạng: N = (anan-1 . . .a0 , a-1a-2 . . .a-m)b = (anan-1 . . .a0)b + (0,a-1a-2 . . .a-m)b Trong đó (anan-1 . . .a0)b = PE(N) là phần nguyên của N và (0,a-1a-2 . . .a-m)b = PF(N) là phần lẻ của N Phần nguyên và phần lẻ được biến đổi theo hai cách khác nhau: ___ ___Nguyễn Trung Lập___ KĨ THUẬT SỐ
- ___Chương I : Các Hệ Thống Số I-1 Nhận thấy kết quả của các bài toán nhân luôn khác không, do phần lẻ của lần nhân cuối cùng là 0,6, đã lặp lại kết quả của lần nhân thứ nhất, như vậy bài toán không thể kết thúc với kết quả đúng bằng 0,3 của hệ 10. Giả sử bài toán yêu cầu lấy 5 số lẻ thì ta có thể dừng ở đây và PF(N) = 0,01001. Kết quả cuối cùng là: 25,310 = 11001,010012 * Đổi 1376,8510 sang hệ thập lục phân Phần nguyên: 1376 : 16 = 86 số dư = 0 ⇒ a0 = 0 86 : 16 = 5 số dư = 6 ⇒ a1 = 6 & ⇒ a2 = 5 137610 = 560H Phần lẻ: 0,85 * 16 = 13,6 ⇒ a-1 = 1310=DH 0,6 * 16 = 9,6 ⇒ a -2 = 9 0,6 * 16 = 9,6 ⇒ a-3 = 9 Nếu chỉ cần lấy 3 số lẻ: 0,8510= 0,D99H Và kết quả cuối cùng: 1376,8510 = 560,D99H 1.3.3 Đổi một số từ hệ b sang hệ bk và ngược lại Từ cách triển khai đa thức của số N trong hệ b, ta có thể nhóm thành từng k số hạng từ dấu phẩy về hai phía và đặt thành thừa số chung n 5 4 3 2 1 0 -1 -2 -3 -m N = anb +. . . +a5b + a4b +a3b +a2b +a1b +a0b +a-1 b +a-2 b +a-3 b . . .+a-mb Để dễ hiểu, chúng ta lấy thí dụ k = 3, N được viết lại bằng cách nhóm từng 3 số hạng, kể từ dấu phẩy về 2 phía 2 1 0 3 2 1 0 0 2 1 0 -3 N = + (a5b + a4b + a3b )b + (a2b + a1b + a0b )b + (a-1 b + a-2 b + a-3b )b + Phần chứa trong mỗi dấu ngoặc luôn luôn nhỏ hơn b3 , vậy số này tạo nên một số trong hệ b3 và lúc đó được biểu diễn bởi ký hiệu tương ứng trong hệ này. Thật vậy, số N có dạng: 2 1 0 -1 N = +A2B +A1B +A0B + A-1B + Trong đó: B=b3 (B0=b0; B1=b3; B2=b6, B-1=b-3 ) 2 1 0 3 -1 -2 -3 3 A2= a8b + a7b + a6b = b (a8b + a7b + a6b ) < B=b 2 1 0 3 -1 -2 -3 3 A1= a5b + a4b + a3b = b (a5b + a4b + a3b ) < B=b 2 1 0 3 -1 -2 -3 3 A0= a2b + a1b + a0b = b (a2b + a1b + a0b ) < B=b 3 Các số Ai luôn luôn nhỏ hơn B=b như vậy nó chính là một phần tử của tập hợp số tạo nên hệ B=b3 Ta có kết quả biến đổi tương tự cho các hệ số k khác. Tóm lại, để đổi một số từ hệ b sang hệ bk, từ dấu phẩy đi về hai phía, ta nhóm từng k số hạng, giá trị của mỗi k số hạng này (tính theo hệ b) chính là số trong hệ bk . Thí dụ: 3 * Đổi số N = 10111110101 , 011012 sang hệ 8 = 2 Từ dấu phẩy, nhóm từng 3 số hạng về hai phía (nếu cần, thêm số 0 vào ở nhóm đầu và cuối để đủ 3 số hạng mà không làm thay đổi giá trị của số N): N = 010 111 110 101 , 011 0102 Ghi giá trị tương ứng của các số 3 bit, ta được số N trong hệ 8 N = 2 7 6 5 , 3 2 8 * Đổi số N trên sang hệ 16 = 24 ___ ___Nguyễn Trung Lập___ KĨ THUẬT SỐ
- ___Chương I : Các Hệ Thống Số I-1 1.4.1 Phép cộng Là phép tính làm cơ sở cho các phép tính khác. Khi thực hiện phép cộng cần lưu ý: 0 + 0 = 0 ; 0 + 1 = 1 ; 1 + 1 = 0 nhớ 1 (đem qua bít cao hơn). Ngoài ra nếu cộng nhiều số nhị phân cùng một lúc ta nên nhớ : - Nếu số bit 1 chẵn, kết quả là 0; - Nếu số bit 1 lẻ kết quả là 1 - Và cứ 1 cặp số 1 cho 1 số nhớ (bỏ qua số 1 dư, thí dụ với 5 số 1 ta kể là 2 cặp) Thí dụ: Tính 011 + 101 + 011 + 011 1 1 ← số nhớ 1 1 1 ← số nhớ 0 1 1 + 1 0 1 0 1 1 0 1 1 1 1 1 0 1.4.2 Phép trừ Cần lưu ý: 0 - 0 = 0 ; 1 - 1 = 0 ; 1 - 0 = 1 ; 0 - 1 = 1 nhớ 1 cho bit cao hơn Thí dụ: Tính 1011 - 0101 1 ← số nhớ 1 0 1 1 - 0 1 0 1 0 1 1 0 1.4.3 Phép nhân Cần lưu ý: 0 x 0 = 0 ; 0 x 1 = 0 ; 1 x 1 = 1 Thí dụ: Tính 1101 x 101 1 1 0 1 x 1 0 1 1 1 0 1 0 0 0 0 1 1 0 1 ___ ___Nguyễn Trung Lập___ KĨ THUẬT SỐ
- ___Chương I : Các Hệ Thống Số I-1 Cách biểu diễn các số trong các hệ khác nhau cũng có thể được xem là một hình thức mã hóa, đó là các mã thập phân, nhị phân, thập lục phân . . . và việc chuyển từ mã này sang mã khác cũng thuộc loại bài toán mã hóa. Trong kỹ thuật số ta thường dùng các mã sau đây: 1.5.2 Mã BCD (Binary Coded Decimal) Mã BCD dùng số nhị phân 4 bit có giá trị tương đương thay thế cho từng số hạng trong số thập phân. Thí dụ: Số 62510 có mã BCD là 0110 0010 0101. Mã BCD dùng rất thuận lợi : mạch điện tử đọc các số BCD và hiển thị ra bằng đèn bảy đoạn (led hoặc LCD) hoàn toàn giống như con người đọc và viết ra số thập phân. 1.5.3 Mã Gray Mã Gray hay còn gọi là mã cách khoảng đơn vị. Nếu quan sát thông tin ra từ một máy đếm đang đếm các sự kiện tăng dần từng đơn vị, ta sẽ được các số nhị phân dần dần thay đổi. Tại thời điểm đang quan sát có thể có những lỗi rất quan trọng. Thí dụ giữa số 7(0111) và 8 (1000), các phần tử nhị phân đều phải thay đổi trong quá trình đếm, nhưng sự giao hoán này không bắt buộc xảy ra đồng thời, ta có thể có các trạng thái liên tiếp sau: 0111 → 0110 → 0100 → 0000 → 1000 Trong một quan sát ngắn các kết quả thấy được khác nhau. Để tránh hiện tượng này, người ta cần mã hóa mỗi số hạng sao cho hai số liên tiếp chỉ khác nhau một phần tử nhị phân (1 bit) gọi là mã cách khoảng đơn vị hay mã Gray. Tính kề nhau của các tổ hợp mã Gray (tức các mã liên tiếp chỉ khác nhau một bit) được dùng rất có hiệu quả để rút gọn hàm logic tới mức tối giản. Ngoài ra, mã Gray còn được gọi là mã phản chiếu (do tính đối xứng của các số hạng trong tập hợp mã, giống như phản chiếu qua gương) Người ta có thể thiết lập mã Gray bằng cách dựa vào tính đối xứng này: - Giả sử ta đã có tập hợp 2n từ mã của số n bit thì có thể suy ra tập hợp 2n+1 từ mã của số (n+1) bit bằng cách: - Viết ra 2n từ mã theo thứ tự từ nhỏ đến lớn - Thêm số 0 vào trước tất cả các từ mã đã có để được một phần của tập hợp từ mã mới - Phần thứ hai của tập hợp gồm các từ mã giống như phần thứ nhất nhưng trình bày theo thứ tự ngược lại (giống như phản chiếu qua gương) và phía trước thêm vào số 1 thay vì số 0 (H 1.2). ___ ___Nguyễn Trung Lập___ KĨ THUẬT SỐ
- ___Chương I : Các Hệ Thống Số I-1 Nhận xét các bảng mã của các số Gray (1 bit, 2 bit, 3 bit và 4 bit) ta thấy các số gần nhau luôn luôn khác nhau một bit, ngoài ra, trong từng bộ mã, các số đối xứng nhau qua gương cũng khác nhau một bit. Bài Tập 1. Đổi các số thập phân dưới đây sang hệ nhị phân và hệ thập lục phân : a/ 12 b/ 24 c/ 192 d/ 2079 e/ 15492 f/ 0,25 g/ 0,375 h/ 0,376 i/ 17,150 j/ 192,1875 2. Đổi sang hệ thập phân và mã BCD các số nhị phân sau đây: a/ 1011 b/ 10110 c/ 101,1 d/ 0,1101 e/ 0,001 f/ 110,01 g/ 1011011 h/ 10101101011 3. Đổi các số thập lục phân dưới đây sang hệ 10 và hệ 8: a/ FF b/ 1A c/ 789 d/ 0,13 e/ ABCD,EF 4. Đổi các số nhị phân dưới đây sang hệ 8 và hệ 16: a/ 111001001,001110001 b/ 10101110001,00011010101 c/ 1010101011001100,1010110010101 d/ 1111011100001,01010111001 5. Mã hóa số thập phân dưới đây dùng mã BCD : a/ 12 b/ 192 c/ 2079 d/15436 e/ 0,375 f/ 17,250 ___ ___Nguyễn Trung Lập___ KĨ THUẬT SỐ