Giáo trình Kỹ thuật số

pdf 9 trang vanle 2901
Bạn đang xem tài liệu "Giáo trình Kỹ thuật số", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfgiao_trinh_ky_thuat_so.pdf

Nội dung text: Giáo trình Kỹ thuật số

  1. Trường CĐSP Bến Tre ⎯⎯⎯⎯⎯ F›G ⎯⎯⎯⎯⎯ Tổ Tin Học Giáo trình Chủ biên Võ Thanh Ân Lưu hành nội bộ Bến Tre, Năm 2004
  2. Tổ Tin Học CHƯƠNG 1: CÁC HỆ THỐNG SỐ 9 NGUYÊN LÝ CỦA VIỆC VIẾT SỐ 9 CÁC HỆ THỐNG SỐ 9 BIẾN ĐỔI QUA LẠI GIỮA CÁC HỆ THỐNG SỐ 9 CÁC PHÉP TỐN SỐ NHỊ PHÂN 9 MÃ HỐ • Mã BCD • Mã Gray I. GIỚI THIỆU Nhu cầu về định lượng nhất là trong những trao đổi thương mại, đã cĩ từ khi xã hội hình thành. Đã cĩ 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ã Việc sử dụng các hệ thống số hằng ngày quá quen thuộc, khiến chúng ta quên đi sự hình thành và các qui tắc viết các con số. Phần này nhắc lại một cách sơ lượt về nguyên lý của việc viết số và giới thiệu các hệ thống số khác ngồi hệ thống thập phân quen thuộc. Chúng ta sẽ đặt biệt chú ý đến hệ thống nhị phân là hệ thống được dùng trong lĩnh vực tin học – điện tử. II. 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ý tự được chọn trong một tập hợp. Mỗi ký hiệu trong mỗi số được gọi là một số mã (số hạng – digit). Ví dụ, trong hệ thống thập phân, 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 số mã tuỳ thuộc vị trí của nĩ trong số đĩ. Giá trị này được gọi là trọng số của số mã. Ví dụ, số 1998 trong hệ thập phân, số 9 đầu sau số 1 cĩ trọng số là 900 trong khi số 9 thứ hai chỉ là 90. Tổng quát, một hệ thống số được gọi là hệ b sẽ gồm b ký hiệu trong đĩ tập hợp: Sb = {S0, S1, S2, Sb–1 } Một số n trong hệ b được viết dưới dạng: N = (anan–1an–2 ai a1a0,a–1a–2 a–m) với ai ∈ S. Sẽ cĩ giá trị: n n n−1 i 0 −1 −2 −m i N = anb + an−1b + + aib + + a0b + a−1b + a−2b + + a−mb = ∑ aib i=−m III. CÁC HỆ THỐNG SỐ 1. Hệ thập phân – Decimal system – Cơ số 10 Hệ thập phân dùng 10 chữ số: 0 1 2 3 4 5 6 7 8 9 để biểu diễn các số. Ví dụ: Tính giá trị của 1 234 567 trong hệ thập phân. Biểu diễn theo cơng thức tổng quát: 1 234 567 = 1*106 + 2*105 + 3*104 + 4*103 + 5*102 + 6*101 + 7*100 1 234 567 = 1 000 000 + 200 000 + 30 000 + 4 000 + 500 + 60 + 7 Trang 1 Chủ biên Võ Thanh Ân
  3. Giáo trình Kỹ Thuật Số 2. Hệ nhị phân – Binary system – Cơ số 2 Hệ nhị phân dùng 2 chữ số : 0 1 để biểu diễn các số. Ví dụ: Tính giá trị của số 100 111 trong hệ nhị phân. Biểu diễn theo cơng thức tổng quát: 5 4 3 2 1 0 100 111Bin = 1*2 + 0*2 + 0*2 + 1*2 + 1*2 + 1*2 100 111Bin = 100 000Bin + 00 000Bin + 0 000Bin + 100Bin + 10Bin + 1 Nếu đổi sang cơ số 10 ta được: 100 111Bin Ù 32Dec + 0Dec + 0Dec + 4Dec + 2Dec + 1Dec 100 111Bin Ù 39Dec 3. Hệ bát phân – Octal system – Cơ số 8 Hệ bát phân dùng 8 chữ số: 0 1 2 3 4 5 6 7 để biểu diễn các số. Ví dụ: Tính giá trị của số 123 456 trong hệ bát phân. Biểu diễn theo cơng thức tổng quát: 5 4 3 2 1 0 123 456Oct = 1*8 + 2*8 + 3*8 + 4*8 + 5*8 + 6*8 123 456Oct = 100 000Oct + 20 000Oct + 3 000Oct + 400Oct + 50Oct + 6Oct Nếu đổi sang cơ số 10 ta được: 123 456Oct Ù 32768Dec + 8192Dec + 1536Dec + 256Dec + 40Dec + 6Dec 123 456Oct Ù 42 798Dec 4. Hệ thập lục phân – Hexadecimal system – Cơ số 16 Hệ thập lục phân dùng 16 chữ số: 0 1 2 3 4 5 6 7 8 9 A B C D E F để biểu diễn các số. Ví dụ: Tính giá trị của số 4B trong hệ thập lục phân. Biểu diễn theo cơng thức tổng quát: 1 0 4BHex = 4*16 + B*16 4BHex = 40Hex + BHex Nếu theo cơ số 10 ta cĩ: 4BHex Ù 64Dec + 11Dec 4BHex Ù 75Dec IV. BIẾN ĐỔI QUA LẠI GIỮA CÁC CƠ SỐ 1. Đổi một cơ số từ hệ b sang hệ 10 Để đổi một cơ số từ hệ b sang hệ 10 ta khai triển trực tiếp đa thức của b. Một số N trong hệ b được viết: N b = an an−1 ai a0 a−1a−2 a−m với ai ∈ Sb Cĩ giá trị tương ứng với hệ cơ số 10 là: n n n−1 i 0 −1 −2 −m i N10 = anb + an−1b + + aib + + a0b + a−1b + a−2b + + a−mb = ∑ aib i=−m Ví dụ 1: Đổi số 1010,11 ở cơ số 2 sang cơ số 10 ta làm như sau: 3 2 1 0 –1 –2 1011,112 Ù 1.2 + 0.2 + 1.2 + 1.2 + 1.2 +1.2 1011,112 Ù 8 + 0 + 4 + 1 + 0,5 + 0,25 1011,112 Ù 13,7510 Ví dụ 2: Đổi giá trị của số 4B,8F trong hệ thập lục phân sang hệ thập phân. Chủ biên Võ Thanh Ân Trang 2
  4. Tổ Tin Học 1 0 –1 –2 4B,8F16 Ù 4*16 + B*16 + 8*16 + 15*16 4B,8F16 Ù 64 + 11 + 0,5 + 0.05859375 4B,8F16 Ù 75,5585937510 2. Đổi một cơ số từ hệ 10 sang hệ b Đây là bài tốn tìm một dãy các ký hiệu cho số N viết trong hệ b. Một số N viết trong dạng cơ số 10 và viết trong cơ số b cĩ dạng như sau: 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. (0,a–1a–2 a–m)b = PF(N) là phần thập phân của N. Cĩ 2 cách biến đổi khác nhau cho phần nguyên và phần thập phân. • Phần nguyên – PE(N) Phần nguyên cĩ thể viết lại như sau: n–1 n–2 PE(N) = (anb + an–1b + +a1)b + a0 Ta thấy rằng, nếu lấy PE(N) chia cho b thì ta sẽ cĩ số dư là a0, được thương là n–1 n–2 PE’(N) = (anb + an–1b + + a1)b. Vậy số dư của lần thứ nhất này chính là bit cĩ trọng số nhỏ nhất (bit LSB). Tiếp tục cho đến khi được phép chia cuối cùng, đĩ chính là bit lớn nhất (MSB). • Phần thập phân – PF(N) Phần thập phân cĩ thể được viết lại như sau: –1 –1 –m+1 PF(N) = b (a–1 + a–2b + + a–mb ) –1 –m+1 Ta thấy rằng nếu nhân PF(N) với b ta được a–1 + a–2b + + a–mb = a–1 + PF’(N). Vậy a–1 chính là bit lẽ đầu tiên của phần thập phân. Tiếp tục lặp lại bài tốn nhân phần lẽ của kết quả cĩ được của phép nhân trước đĩ với b cho tới khi kết quả phần lẽ bằng 0, ta tìm được dãy số (a–1a–2a–3 a–m). Chú ý: Phần thập phân của số N khi đổi sang hệ b cĩ thể gồm vơ số số hạng (do kết quả phần thập phân cĩ được luơn khác 0), vậy tuỳ theo yêu cầu về độ chính xác của kết quả mà ta lấy một số số hạng nhất định. Ví dụ: Đổi số 6,3 sang hệ nhị phân. Phần nguyên ta thực hiện như sau: 6 2 Kết quả phép chia bằng khơng 0 3 2 (kết thúc). Lấy ngược phần dư 1 1 2 ta được: 110Bin Ù 6Dec 1 0 Phần thập phân ta thực hiện như sau: 0,3*2 = 0,6 Ỵ a–1 = 0 Lấy phần chẳn là 0 0,6*2 = 1,2 Ỵ a–2 = 1 Lấy phần chẳn là 1 0,2*2 = 0,4 Ỵ a–3 = 0 0,4*3 = 0,8 Ỵ a–4 = 0 0,8*2 = 1,6 Ỵ a–5 = 1 0,6*2 = 1,2 Ỵ a–6 = 1 0,2*2 = 0,4 Ỵ a–7 = 0 (tiếp tục ) Trang 3 Chủ biên Võ Thanh Ân
  5. Giáo trình Kỹ Thuật Số Như vậy kết quả bài tốn nhân luơn luơn khác 0, nếu kết quả bài tốn chỉ cần 5 số lẽ thì ta lấy PF(N) = 0,01001. Kết quả cuối cùng là: 6,310 Ù110,011112 3. Đổi một cơ số từ hệ b sang hệ bk 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ề 2 phía và đặt thành thừa số chung. n 4 3 2 1 0 –1 –2 –3 N = anb + + a4b + a3b + a2b + a1b + a0b + a–1b + a–2b + a–3b + + a– –m mb Giả sử k =3 số N được viết lại như sau: 2 1 0 3 2 1 0 0 2 1 0 –3 N = + (a5b + a4b + a3b )b + (a2b + a1b + a0b )b +(a–1b + a–2b + a–3b )b + Phần chứa trong mỗi dấu ngoặc luơn nhỏ hơn bk (k=3), vậy số này chính là một số trong hệ bk và được biểu diễn bởi các ký hiệu tương ứng trong hệ này. Ví dụ 1: Đổi số 10011101010,10011 từ hệ cơ số 2 sang hệ cơ số 8 (k=3 vì 8 = 23) Từ dấu phẩy gom từng 3 số, ta cĩ thể thêm số 0 vào bên trái của số hoặc bên phải sau dấu phẩy cho đủ nhĩm 3 (k=3) số, ta được như sau: 010 011 101 010, 100 110(2) Ù2352,46(8) Ví dụ 2: Đổi số 10011101010,10011 từ hệ cơ số 2 sang hệ cơ số 16 (k=4 vì 16 = 24) Từ dấu phẩy gom từng 4 số, ta cĩ thể thêm số 0 vào bên trái của số hoặc bên phải sau dấu phẩy cho đủ nhĩm 4 (k=4) số, ta được như sau: 0100 1110 1010, 1001 1000(2) Ù4EA,98(16) Ngồi ra, ta cũng cĩ thể biến đổi một số từ bk sang bp thực hiện trung gian qua hệ b. Điều này dễ dàng suy ra từ 2 ví dụ trên, đọc giả tự nghiên cứu. Dưới đây là bảng kê các số đầu tiên trong 4 hệ số thường gặp: Thập Thập Thập Nhị Bát Thập Nhị Bát lục lục phân phân phân phân phân phân phân phân 0 00000 0 0 11 01011 13 B 1 00001 1 1 12 01100 14 C 2 00010 2 2 13 01101 15 D 3 00011 3 3 14 01110 16 E 4 00100 4 4 15 01111 17 F 5 00101 5 5 16 10000 20 10 6 00110 6 6 17 10001 21 11 7 00111 7 7 18 10010 22 12 8 01000 10 8 19 10011 23 13 9 01001 11 9 20 10100 24 14 10 01010 12 A 21 10101 25 15 Chủ biên Võ Thanh Ân Trang 4
  6. Tổ Tin Học V. CÁC PHÉP TÍNH TRONG HỆ NHỊ PHÂN 1. Giới thiệu Các phép tính trong hệ nhị phân được thực hiện tương tự như hệ thập phân, tuy nhiên cũng cĩ một số điểm cần lưu ý. 2. Phép cộng Là phép tính làm cơ sở cho các phép tính khác. Ta cĩ các chú ý sau: 0 + 0 = 0 0 + 1 = 1 + 0 = 1 1 + 1 = 0, nhớ 1 (đem qua bit cao hơn). Ngồi ra để thực hiện bài tốn cộng nhiều số ta nên nhớ: - Nếu số bit số 1 chẳn thì kết quả bằng 0. - Nếu số bit số 1 lẽ thì kết quả bằng 1. - Cứ 1 cặp số 1, cho 1 số nhớ. Ví dụ: Tính 011 + 101 + 011 + 011 11 Å số nhớ 111 Å số nhớ 011 101 + 011 011 1110 3. Phép trừ Ta cĩ các chú ý sau: 0 – 0 = 0 1 – 1 = 0 1 – 0 = 1 0 – 1 = 1, nhớ 1 cho bit cao hơn. Ví dụ: Tính 1011 – 0101 1 Å số nhớ 1011 – 0101 0110 4. Phép nhân Ta cĩ các chú ý sau: 0 × 0 = 0 0 × 1 = 0 1 × 1 = 1 Ví dụ: Tính 110 × 101 Trang 5 Chủ biên Võ Thanh Ân
  7. Giáo trình Kỹ Thuật Số 110 × 101 110 + 000 110 11110 5. Phép chia Tương tự như phép chia trong hệ cơ số 10. Ví dụ: Tính 1001100100 : 11000 1001100100 11000 –11000 11001,1 0011100 –11000 00100100 –11000 001100 0 Å thêm 0 vào để –1100 0 chia lấy phần lẽ. 0000 0 VI. MÃ HỐ 1. Tổng quát Mã hố 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 nào đĩ. Một cách tốn học, mã hố là phép áp một đối tượng 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. A 101 B 110 C 111 Tậ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 đí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à một từ mã. Tập hợp các từ mã tạo ra theo cùng một qui luật cho ta bộ mã. Việc chọn mã tuỳ vào mục đích sử dụng. Ví dụ để biễu diễn các chữ và số, người ta cĩ mã ASCII (American Standard Code for Information Interchange), mã Baudot, Trong truyền dữ liệu, ta cĩ mã dị lỗi, mã dị và sửa lỗi, mật mã, Cơng việc ngược lại mã hố là giải mã. Cách biểu diễn các số trong trong các hệ khác nhau cũng được xem là một hình thức mã hố, như vậy, ta 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 bài tốn mã hố. Trong kỹ thuật số ta thường sử dụng mã BCD và mã Gray. Ta sẽ xét chúng ở phần ngay sau đây. Chủ biên Võ Thanh Ân Trang 6
  8. Tổ Tin Học 2. Mã BCD (Binary Coded Decimal) Mã BCD dùng số 4 bit nhị phân thay thế cho từng số hạng trong số thập phân. Ví dụ: Số 729(10) cĩ mã BCD là 0111 0010 1001(BCD) Mã BCD rất thuận lợi để mạch điện tử đọc các giá trị thập phân và hiển thị bằng các đèn bảy đoạn (led 7 đoạn) và các thiết bị sử dụng kỹ thuật số khác. Hình: Led 7 đoạn. 3. Mã Gray Mã Gray hay cịn họi là mã cách khoảng đơn vị. Nếu quan sát thơng tin từ máy đếm, đang đếm sự kiện tăng dần từng đơn vị của một số nhị phân. Ta sẽ được các số nhị phân dần dần thay đổi. Tại thời điểm quan sát, cĩ thể cĩ những lỗi rất quan trọng, ví dụ từ số 7 (0111) và số 8 (1000), các phần tử nhị phân đều phải thay đổi trong quá trình đếm nhưng sự giao hốn này khơng bắt buộc xảy ra đồng thời, ta cĩ các trạng thái liên tiếp sau chẳn hạn: 0111 Ỉ 0101 Ỉ 0100 Ỉ 1100 Ỉ 1001 Trong một quan sát ngắn, kết quả thấy được khác nhau. Để tránh hiện tượng này, người ta cần mã hố mỗi số hạng sau cho 2 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 và 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ể thành lập mã Gray dựa vào tính chất đối xứng của nĩ. Để thực hiện mã Gray nhiều bit, ta thực hiện từ tập mã Gray 1 bit. Ta làm như sau: 0 0 0 0 00 0 000 0 0000 1 0 1 0 01 0 001 1 0001 1bit 1 1 0 11 0 011 2 0010 1 0 0 10 0 010 3 0011 2 bit 1 10 0 100 4 0100 1 11 0 111 5 0101 1 01 0 101 6 0110 1 00 0 100 7 0111 3 bit 1 100 8 1000 1 101 9 1001 1 111 10 1010 1 100 11 1011 1 010 12 1100 1 011 13 1101 1 001 14 1110 1 000 15 1111 4 bit Dec Bin Ta cĩ một cách khác để xác định một số mã Gray tương ứng với mã nhị phân như sau: - Xác định số nhị phân tương ứng với Gray cần tìm. Trang 7 Chủ biên Võ Thanh Ân
  9. Giáo trình Kỹ Thuật Số - Dịch trái số nhị phân 1 bit sau đĩ cộng khơng số nhớ với số nhị phân đĩ, bỏ bit cuối. Ví dụ: Xác định số 14 của mã Gray ta làm như sau: Xác định số nhị phân tương ứng: 14(10) Ù1110(2) Dịch trái 1 bit số 1110(2) ta được số 11100(2), sau đĩ cộng bỏ bít cuối như sau: 1110 Å Số nhị phân tương ứng 14 + (10) 11100 Å Số nhị phân tương ứng 14(10) dịch trái 1 bít. 1001 Å Số mã Gray (cộng hai số trên khơng số nhớ và bỏ bít cuối). Chủ biên Võ Thanh Ân Trang 8