Bài giảng Nhập môn tin học - Chương 4: Mã mãy (Computer Codes)

pdf 48 trang phuongnguyen 8170
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Nhập môn tin học - Chương 4: Mã mãy (Computer Codes)", để 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:

  • pdfbai_giang_nhap_mon_tin_hoc_chuong_4_ma_may_computer_codes.pdf

Nội dung text: Bài giảng Nhập môn tin học - Chương 4: Mã mãy (Computer Codes)

  1. Chương 4 MÃ MÁY Computer Codes
  2. Nội Dung 1 4.1. Các loại mã máy 4.2. Trình tự sắp xếp 4.3. Câu hỏi và Bài tập
  3. Các Loại Mã Máy 2  BCD : Binary Coded Decimal (6 bits)  EBCDIC: Extended Binary-Code decimal Interchange Code (8 bits)  Zoned and Packed Decimal Numbers  ASCII
  4. Mã BCD – Binary Coded Decimal 3  Mã Binary Coded Decimal (BCD) là một mã ra đời sớm nhất.  Tất cả ký số thập phân được mô tả trong BCD gồm 4 bits.  Ví dụ: 4 2 42(10) = 0100 0010 hay 01000010 trong BCD
  5. Mã BCD – Binary Coded Decimal 4 Ký số thập phân BCD tương đương 0 0000 1 0001 2 0010 3 0011 4 0100 5 0101 6 0110 7 0111 8 1000 9 1001 BCD tương ứng với các ký số thập phân
  6. Mã BCD – Binary Coded Decimal 5  Vậy các số thập phân có giá trị từ 10 đến 15 được biểu diễn như thế nào trong BCD???  Ví dụ: 10(10) = 0001 0000 hay 00010000 trong BCD 1 0 15(10) = 0001 0101 hay 00010101 trong BCD 1 5
  7. Mã BCD – Binary Coded Decimal 6  Thay vì sử dụng 4-bits cho 16 (24)ký tự, người thiết kế máy tính thường sử dụng 6 bits để mô tả mã BCD.  Trong 6-bits mã BCD, 4 bits cho mã BCD, 2 bits còn lại được thêm vào là mã vùng.  Mô tả 64(26) ký tự khác nhau bao gồm các số(0 9), chữ cái (A Z) và các ký tự đặc biệt.
  8. Mã BCD – Binary Coded Decimal 7 Ký tự Mã BCD Biểu diễn hệ bát phân Vùng (zone) Ký số (Digit) Octal A 11 0001 61 B 11 0010 62 C 11 0011 63 D 11 0100 64 E 11 0101 65 F 11 0110 66 G 11 0111 67 H 11 1000 70 I 11 1001 71 J 10 0001 41 K 10 0010 42 L 10 0011 43
  9. Mã BCD – Binary Coded Decimal 9 Ký tự Mã BCD Biểu diễn hệ bát phân Vùng(Zone) Ký số (Digit) Octal A 11 0001 61 B 11 0010 62 C 11 0011 63 D 11 0100 64 E 11 0101 65 F 11 0110 66 G 11 0111 67 H 11 1000 70 I 11 1001 71 J 10 0001 41 K 10 0010 42 L 10 0011 43
  10. Mã BCD – Binary Coded Decimal 8  Ví dụ: Biểu diễn số nhị phân cho từ BASE trong BCD – B = 110010 trong hệ đếm nhị phân BCD – A = 110001 trong hệ đếm nhị phân BCD – S = 010010 trong hệ đếm nhị phân BCD – E = 110101 trong hệ đếm nhị phân BCD Vì vậy, các chữ số nhị phân biểu diễn chữ Base 110010 110001 010010 110101 B A S E
  11. Mã BCD – Binary Coded Decimal 11  Ví dụ 4.2: Dùng hệ bát phân, biểu diễn mã BCD cho từ DIGIT Giải pháp: – D = 64 trong hệ đếm bát phân BCD – I = 71 trong hệ đếm bát phân BCD – G = 67 trong hệ đếm bát phân BCD – I = 71 trong hệ đếm bát phân BCD – T = 23 trong hệ đếm bát phân BCD Như vậy mã hóa BCD cho từ DIGIT trong hệ bát phân sẽ là: 64 71 67 71 23 D I G I T
  12. Mã BCD – Binary Coded Decimal 10 Ký tự Mã BCD Biểu diễn hệ bát phân Vùng(Zone) Ký số(Digit) (Octal) A 11 0001 61 B 11 0010 62 C 11 0011 63 D 11 0100 64 E 11 0101 65 F 11 0110 66 G 11 0111 67 H 11 1000 70 I 11 1001 71 J 10 0001 41 K 10 0010 42 L 10 0011 43
  13. Mã BCD – Binary Coded Decimal 12 Bài tập 2, 3,4 trang 59 2. Write the 4-bit BCD code for the following numbers: (a) 2510 (c) 12810 (b) 6410 (d) 102410 3. Using binary notation, show the BCD coding for the following words: (a) BIT (c) CODE (b) BYTE (d) ZERO 4. Using the octal notation, show the BCD coding for the following words: (a) COMPUTER (c) VIDEO (b) INPUT (d) OUTPUT
  14. 13 Mã EBCDIC–Extended Binary Coded Decimal Interchange Code  EBCDIC là một mã 8 bit (thêm 2 bit vào mã vùng để mở rộng thêm vùng nhớ).  Được chia thành 2 nhóm 4-bits, mỗi nhóm biểu diễn 1 số thập lục phân, nhóm đầu biểu diễn mã vùng và nhóm kế tiếp là số.  Mô tả cho 256 (28) kí tự khác nhau
  15. 14 Mã EBCDIC–Extended Binary Coded Decimal Interchange Code Mã EBCDIC Biểu diễn hệ thập lục Kí tự Vùng(zone) Ký số(Digit) phân (Hexa) A 1100 0001 C1 B 1100 0010 C2 C 1100 0011 C3 D 1100 0100 C4 E 1100 0101 C5 F 1100 0110 C6 G 1100 0111 C7 H 1100 1000 C8 I 1100 1001 C9 J 1101 0001 D1 K 1101 0010 D2 L 1101 0011 D3
  16. 15 Mã EBCDIC–Extended Binary Coded Decimal Interchange Code Mã EBCDIC Biểu diễn hệ thập lục Kí tự Vùng(Zone) Ký số(Digit) phân (Hexa) A 1100 0001 C1 B 1100 0010 C2 C 1100 0011 C3 D 1100 0100 C4 E 1100 0101 C5 F 1100 0110 C6 G 1100 0111 C7 H 1100 1000 C8 I 1100 1001 C9 J 1101 0001 D1 K 1101 0010 D2 L 1101 0011 D3
  17. 16 Mã EBCDIC–Extended Binary Coded Decimal Interchange Code  Ví dụ: Biểu diễn số nhị phân cho từ BASE trong EBCDID – B = 11000010 trong hệ đếm nhị phân EBCDID – A = 11000001 trong hệ đếm nhị phân EBCDID – S = 11100010 trong hệ đếm nhị phân EBCDID – E = 11000101 trong hệ đếm nhị phân EBCDID Vì vậy, các chữ số nhị phân biểu diễn chữ Base 11000010 11000001 11100010 11000101 B A S E
  18. 17 Mã EBCDIC–Extended Binary Coded Decimal Interchange Code Mã EBCDIC Biểu diễn hệ thập lục Kí tự Vùng(Zone) Ký số(Digit) phân (Hexa) A 1100 0001 C1 B 1100 0010 C2 C 1100 0011 C3 D 1100 0100 C4 E 1100 0101 C5 F 1100 0110 C6 G 1100 0111 C7 H 1100 1000 C8 I 1100 1001 C9 J 1101 0001 D1 K 1101 0010 D2 L 1101 0011 D3
  19. 18 Mã EBCDIC–Extended Binary Coded Decimal Interchange Code Bài tập 6, 8, 10,11 trang 59 6. How many different characters are possible for the following codes: a) BCD c) ASCII-7 b) EBCDIC d) ASCII-8 7. Why are octal and hexadecimal shortcut notations used? Identify the shortcut notationc used for each of these computer codes: a) BCD c) ASCII-7 b) EBCDIC d) ASCII-8 8. Using binary notation, write the EBCDIC coding for the following words: a) SUN c) CAT b) MOON d) DOG 9. Using hexadecimal notation, write the EBCDIC coding for the following words: a) PROGRAM c) BYTE b) OUTPUT d) OCTAL
  20. 19 Zoned and Packed Decimal Numbers Mã Zoned  Dùng để biểu diễn các số dương, âm hay không dấu.  Ký hiệu để biểu hiện cho số hệ thập lục phân dương là C (+), hệ thập lục phân âm là D (-), và hệ thập lục phân không dấu là F. Giá trị số EBCDIC Dấu hiệu chỉ báo 345 F3F4F5 F cho không dấu +345 F3F4C5 C cho số dương -345 F3F4D5 D cho số âm Giá trị số ở EBCDIC trong hệ đếm thập lục phân
  21. 20 Zoned and Packed Decimal Numbers Mã Packed  Phải chuyển dữ liệu từ Zoned thành dạng Packed theo các bước sau thì máy tính mới thực hiện được các phép toán số học. – Bước 1: Di chuyển ký hiệu dấu đến cực bên phải của số. – Bước 2: Tất cả các ký hiệu còn lại bị loại ra. Giá trị số Định dạng khu vực Định dạng đóng gói 345 F3F4F5 345F +345 F3F4C5 345C -345 F3F4D5 345D 3456 F3F4F5F6 03456F Quá trình chuyển đổi dữ liệu thập phân thành dữ liệu đóng gói
  22. 21 Zoned and Packed Decimal Numbers Ví dụ:  Sử dụng hệ thống đếm nhị phân, mã hóa EBCDIC cho mẫu từ BIT. Bao nhiêu bytes được yêu cầu?  Giải pháp: – B= 1100 0010 trong hệ đếm nhị phân EBCDIC – I = 1100 1001 trong hệ đếm nhị phân EBCDIC – T = 1110 0011 trong hệ đếm nhị phân EBCDIC Vì vậy, mã EBCDIC cho từ BIT trong nhị phân sẽ là 11000010 11001001 11100011 B I T Từ Bit yêu cầu ba byte để lưu trữ, vì mỗi ký tự là 1 byte (hoặc 8 bit).
  23. 22 Zoned and Packed Decimal Numbers Ví dụ:  Dùng mã EBCDIC cho từ ZONE (dùng hệ thập lục phân). Bao nhiêu bytes được yêu cầu? Giải pháp: – Z = E9 trong hệ đếm thập lục phân EBCDIC – O = D6 trong hệ đếm thập lục phân EBCDIC – N = D5 trong hệ đếm thập lục phân EBCDIC – E = C5 trong hệ đếm thập lục phân EBCDIC Mã EBCDIC cho từ ZONE trong hệ đếm thập lục phân sẽ là: E9 D6 D5 C5 Z O N E  Mỗi chữ số hệ thập lục phân yêu cầu 4 bit và đòi hỏi phải có đầy đủ 8 chữ số hệ thập lục phân. Vì vậy, cần 8 x 4 = 32 bit hay 4 byte (8 bit = 1byte).
  24. 23 Zoned and Packed Decimal Numbers Ví dụ:  Mã hóa thập phân EBCDIC cho giá trị +256 (sử dụng hệ 16). Bao nhiêu bytes sẽ được yêu cầu? Giải pháp: +256=F2F5C6 trong EBCDIC  Mỗi chữ số thập lục phân yêu cầu 4 bit và đòi hỏi phải có đầy đủ 6 chữ số thập lục phân.  Vì vậy, cần 6 x 4 = 24 bit, hoặc 3 byte (8 bit = 1 byte)
  25. 24 Zoned and Packed Decimal Numbers Ví dụ:  Mã hóa -128 theo dạng đóng gói số thập phân (sử dụng thập lục phân). Bao nhiêu bytes được yêu cầu?  Giải pháp: -128 = F1F2D8 in EBCDIC =128D Định dạng đóng gói  Mỗi chữ số thập lục phân yêu cầu 4 bit và đòi hỏi phải có đầy đủ 4 chữ số thâp lục phân.  Vì vậy, cần 4 x 4 = 16 bit hoặc 2 byte (8 bit = 1 byte).
  26. 25 Zoned and Packed Decimal Numbers Bài tập 12, 13 trang 60 12. Using hexadecimal notation, write the zoned- decimal coding for the following numbers: a) 1256 c) -63 b) +439 d) -786 How many bytes are required for each of these representation 13. Using hexadecimal notation, write the packed- decimal coding for the following numbers: a) 12915 c) 872 b) +9876 d) -256 How many bytes are required for each of these representation
  27. 26 ASCII- American Standard Code for Information Interchange  Mã ASCII được sử dụng theo chuẩn của Mỹ.  ASCII có hai kiểu ASCII-7 và ASCII-8.  ASCII-7 là một mã 7-bits biểu diễn 128(27) kí tự khác nhau. 3 bits đầu tiên được sử dụng cho bit vùng và 4 bits sau cho ký số.  ASCII-8 là một mã 8-bit, biểu diễn 256 (28) ký tự khác nhau. Các bit sẽ được thêm vào các bit vùng và mã hóa ký tự liên tục theo cơ số 16.
  28. 27 ASCII- American Standard Code for Information Interchange ASCII-7 code Hexadecimal Character Zone Digit Equivalent 0 11 0000 30 1 11 0001 31 2 11 0010 32 3 11 0011 33 4 11 0100 34 5 11 0101 35 6 11 0110 36 7 11 0111 37 8 11 1000 38 9 11 1001 39
  29. 28 ASCII- American Standard Code for Information Interchange Mã ASCII-8 Kí tự Vùng Kí số Hệ thập lục phân 0 101 0000 50 1 101 0001 51 2 101 0010 52 3 101 0011 53 4 101 0100 54 5 101 0101 55 6 101 0110 56 7 101 0111 57 8 101 1000 58 9 101 1001 59 Tham khảo thêm giáo trình trang 61 và 62
  30. 29 ASCII- American Standard Code for Information Interchange Ví dụ:  Viết mã hóa nhị phân cho các chữ BOY trong ASCII-7. Cần bao nhiêu byte? Giải pháp: B = 1000010 trong ASCII-7 hệ nhị phân O = 1001111 trong ASCII-7 hệ nhị phân Y = 1011001 trong ASCII-7 hệ nhị phân Do đó, mã hóa nhị phân cho các chữ BOY trong ASCII-7 sẽ được 1000010 1001111 1011001 B O Y  Vì mỗi ký tự trong ASCII-7 yêu cầu một byte để mô tả 1 ký tự nên cần 3 byte mô tả chữ BOY
  31. 30 ASCII- American Standard Code for Information Interchange Ví dụ:  Dùng mã thập lục phân cho từ GIRL trong ASCII-7. Bao nhiêu byte được yêu cầu? Giải pháp: – G = 47 trong ASCII-7 hệ đếm thập lục phân – I = 49 trong ASCII-7 hệ đếm thập lục phân – R = 52 trong ASCII-7 hệ đếm thập lục phân – L = 4C trong ASCII-7 hệ đếm thập lục phân  Do đó, sự mã hóa hệ thập lục phân cho từ GIRL trong ASCII- 7 sẽ là 47 49 52 4C G I R L  Vì mỗi ký tự trong ASCII-7 yêu cầu một byte để mô tả nên cần 4 byte để mô tả chữ GIRL.
  32. 31 ASCII- American Standard Code for Information Interchange Ví dụ:  Viết mã nhị phân cho các chữ SKY trong ASCII-8. Cần bao nhiêu byte? Giải pháp: – S = 10110011 trong ASCII-8 hệ đếm thập lục phân – K = 10101011 trong ASCII-8 hệ đếm thập lục phân – Y = 10111001 trong ASCII-8 hệ đếm thập lục phân  Do đó, các mã nhị phân cho từ SKY trong ASCII-8 sẽ là 10110011 10101011 10111001 S K Y  Vì mỗi ký tự trong ASCII-8 yêu cầu một byte để mô tả nên cần 3 byte mô tả chữ SKY.
  33. 32 ASCII- American Standard Code for Information Interchange Ví dụ:  Dùng mã thập lục phân cho chữ STAR trong ASCII-8. Cần bao nhiêu byte? Giải pháp: – S = B3 trong ASCII-8 hệ đếm thập lục phân – T = B4 trong ASCII-8 hệ đếm thập lục phân – A = A1 trong ASCII-8 hệ đếm thập lục phân – R = B2 trong ASCII-8 hệ đếm thập lục phân  Mã thập lục phân cho từ STAR trong ASCII-8 sẽ là B3 B4 A1 B2 S T A R  Vì mỗi ký tự trong ASCII-8 yêu cầu một byte để mô tả nên cần 4 byte mô tả chữ STAR.
  34. 33 ASCII- American Standard Code for Information Interchange Bài tập 15, 16 trang 60 15. Using binary notation, write the ASCII-7 and ASCII-8 codes for the following words: a) DRY c) DAMP b) WET d) TERM 16. Using hexadecimal notation, write the ASCII-7 and ASCII-8 codes for the following words: a) PRINT c) RUB b) TYPE d) GIVE
  35. 33 ASCII- American Standard Code for Information Interchange Bài tập 15, 16 trang 60 15. Using binary notation, write the ASCII-7 and ASCII-8 codes for the following words: a) DRY c) DAMP b) WET d) TERM 16. Using hexadecimal notation, write the ASCII-7 and ASCII-8 codes for the following words: a) PRINT c) RUB b) TYPE d) GIVE
  36. 34 Trình Tự Sắp Xếp – Collating Sequence  Thứ tự sắp xếp các chữ cái (alphabetic order) ( A < B < C < < Z )  Thứ tự sắp xếp các số (numeric order) (0 < 1< 2< < 9 )
  37. 35 Trình Tự Sắp Xếp – Collating Sequence Ví dụ:  Giả sử, một máy tính dùng mã BCD miêu tả cho các ký tự. Trong đó yêu cầu máy tính sắp xếp chuỗi 23, A1, 1A? Giải:  Trong BCD, ký tự số < ký tự trong bảng chữ cái.  Chuỗi sẽ được sắp xếp như sau: 23 < 1A < A1  23, 1A, A1.
  38. 35 Trình Tự Sắp Xếp – Collating Sequence Ví dụ:  Giả sử, một máy tính dùng mã EBCDIC miêu tả cho các ký tự. Trong đó yêu cầu máy tính sắp xếp chuỗi 23, A1, 1A? Giải:  Trong EBCDIC, ký tự số > ký tự trong bảng chữ cái.  Chuỗi sẽ được sắp xếp như sau: 23 > 1A > A1  A1, 1A, 123
  39. 35 Trình Tự Sắp Xếp – Collating Sequence Ví dụ:  Giả sử, một máy tính dùng mã ASCII miêu tả cho các ký tự. Trong đó yêu cầu máy tính sắp xếp chuỗi 23, A1, 1A? Giải:  Trong ASCII, ký tự số < ký tự trong bảng chữ cái.  Chuỗi sẽ được sắp xếp như sau: 1A < 23 <A1  1A, 23, A1
  40. 41 Trình Tự Sắp Xếp – Collating Sequence Bài tập 1. Một máy tính sử dụng mã nội bộ miêu tả cho các kí tự. Thứ tự sắp xếp các chuỗi sau thế nào? a. ABC b. 123 c. 245 d. ADD
  41. 42 Câu hỏi và Bài Tập 2. Một máy tính sử dụng ASCII. Thứ tự sẽ sắp xếp các chuỗi sau thế nào? a. BED b. 512 c. 400 d. 128 e. BAD 3. Viết đầy đủ các từ viết tắt sau? a. BCD b. EBCDIC c. ASII
  42. 36 Câu hỏi và Bài Tập 1. “Byte” có nghĩa là gì. Cho biết sự khác nhau giữa bit và byte? 2. Viết 4-bit, mã BCD cho số sau đây: 2510 6410 12810 102410 3. Sử dụng hệ nhị phân, chỉ ra mã BCD cho các từ sau: a. BIT b. BYTE c. MÃ d. ZERO
  43. 37 Câu hỏi và Bài Tập 4. Sử dụng hệ bát phân, chỉ ra mã BCD cho các từ sau: a. MÁY TÍNH b. VIDEO c. INPUT d. OUTPUT 5. Tại sao mã EBCDIC được mở rộng từ mã BCD? 6. Có bao nhiêu ký tự khác nhau có thể biểu diễn cho các mã sau: a. BCD b. EBDIC c. ASCII-7 d. ASCII-8
  44. 38 Câu hỏi và Bài Tập 7. Tại sao hệ bát phân và hệ thập lục phân sử dụng những kí hiệu tắt ? Xác định kí hiệu tắt sử dụng cho mỗi mã máy : a. BCD b. EBDIC c. ASCII-7 8. Tại sao chúng ta có định dạng đóng gói thập phân? Có gì khác nhau với định dạng thập phân? 9. Dùng hệ nhị phân, viết mã EBCDIC cho các từ sau? a. SUN b. MOON c. CAT d. DOG
  45. 39 Câu hỏi và Bài Tập 10. Dùng hệ thập lục phân, viết mã EBCDIC cho các từ sau? a. PROGRAM b. OUTPUT c. BYTE d. OCTAL Bao nhiêu byte được yêu cầu cho các từ này 11. Sử dụng hệ thập lục phân, viết mã cho các số thập phân sau: a. 1256 b. +439 c. -63 d. -786
  46. 40 Câu hỏi và Bài Tập 12. Sử dụng hệ thập lục phân, viết mã cho số thập phân đóng gói sau: a. 12915 b. 9876 c. 872 d. -256 Bao nhiêu byte được yêu cầu cho mỗi miêu tả này? 13. Sự giống và khác nhau giữa ASCII 7-bit và ASCII 8- bit. 14. Sử dụng hệ nhị phân, viết mã cho số thập phân sau: a. DRY b. WET c. DAMP d. TERM
  47. 41 Câu hỏi và Bài Tập 15. Sử dụng hệ thập lục phân, viết mã cho số thập phân sau: a. PRINT b. TYPE c. RUB d. GIVE 16. Một máy tính sử dụng mã nội bộ miêu tả cho các kí tự. Thứ tự sắp xếp các chuỗi sau thế nào? a. ABC b. 123 c. 245 d. ADD
  48. 42 Câu hỏi và Bài Tập 17. Một máy tính sử dụng ASCII. Thứ tự sẽ sắp xếp các chuỗi sau thế nào? a. BED b. 512 c. 400 d. 128 e. BAD 18. Viết đầy đủ các từ viết tắt sau? a. BCD b. EBCDIC c. ASII