Lập trình hướng đối tượng - Chương 4: Mã máy (Computer codes)

Tại sao sử dụng Unicode Là bộ mã đơn nhất được thiết kế theo chuẩn quốc tế, hỗ trợ tất cả các ngôn ngữ Đặc điểm của Unicode Cung cấp một cách thống nhất để mã hóa các văn bản đa ngôn ngữ Xác định các mã cho các ký tự được sử dụng trong tất cả các ngôn ngữ trên thế giới Xác định mã cho các ký tự đặc biệt, ký hiệu toán học,

pptx47 trang | Chia sẻ: huyhoang44 | Lượt xem: 989 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Lập trình hướng đối tượng - Chương 4: Mã máy (Computer codes), để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Chương 4: Mã máy (Computer codes)Nội dungDữ liệu máy tínhMã máyMã máy thông dụngCác loại dữ liệuNumeric09AlphabeticazAZKhoảng trắngAlphanumericazAZ09+, -, *, / ,^ , (, ) Mã máyDùng để biểu diễn dữ liệu bên trong máy tínhMáy tính sử dụng số nhị phân để biểu diễn dữ liệu do đó mã máy sử dụng mã nhị phânTrong mã nhị phân, tất cả dữ liệu được biểu diễn bởi một nhóm các bitsMột nhóm 8 bits biểu diễn dữ liệu gọi là byteCác mã máy thông dụng: BCD, EBCDIC, ASCIIMã BCD (Binary Coded Decimal)Một trong các mã máy xuất hiện đầu tiênSử dụng 6 bits để biểu diễn một ký hiệu, trong đó gồm 4 bit biểu diễn dữ liệu và 2 bit dành cho mã vùngCó thể biểu diễn 64 (26) ký tự khác nhauMã BCD (Binary Coded Decimal)Mã BCD (Binary Coded Decimal)Mã BCD (Binary Coded Decimal)Ví dụ: Dùng mã BCD biểu diễn từ BASE dạng nhị phânMã BCD (Binary Coded Decimal)Ví dụ: biểu diễn từ DIGIT bằng mã BDC dạng bát phânMã BCD (Binary Coded Decimal)Bài tập 2, 3,4 trang 59Biểu diễn các số thập phân bên dưới bằng hệ nhị phân 6-bit dưới dạng mã BCD: a. 2510 c. 12810 b. 6410 d.1024102. Biểu diễn các từ bên dưới bằng hệ nhị phân dưới dạng mã BCD: a. BIT c. CODE b. BYTE d. ZERO Mã BCD (Binary Coded Decimal)3. Sử dụng hệ bát phân biểu diễn các từ bên dưới với dạng mã BCD: a. COMPUTER c. VIDEO b. INPUT d. OUTPUTMã EBCDIC (Extended Binary Coded Decimal Interchange Code)Dùng 8 bits để biểu diễn một ký hiệu, trong đó bao gồm 4 bit dành cho mã vùng và 4 bit cho dữ liệu.Mã EBCDIC có thể biểu diễn 256 (28) ký tự khác nhauMã EBCDIC (Extended Binary Coded Decimal Interchange Code)Mã EBCDIC (Extended Binary Coded Decimal Interchange Code)Mã EBCDIC (Extended Binary Coded Decimal Interchange Code)Zone decimal number:Được sử dụng để biểu diễn giá trị của số (số dương, âm, không dấu) trong mã EBCDICKý hiệu để biểu diễn một số trong hệ thập lục phân:C (+): số dươngD (-): số âmF: số không dấuTại vị trí bên phải cùng của ZoneTrong một Zone chỉ có một ký số trên 1 byteMã EBCDIC (Extended Binary Coded Decimal Interchange Code)Ví dụ:Giá trị sốEBCDICDấu hiệu chỉ báo345F3F4F5F cho không dấu+345F3F4C5C cho số dương-345F3F4D5D cho số âmPacked decimal numbersMã Packed: Phải chuyển dữ liệu từ Zone sang 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 tính số họcBướ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.Packed decimal numbersVí dụ:Giá trị sốĐịnh dạng khu vựcĐịnh dạng đóng gói345F3F4F5345F+345F3F4C5345C-345F3F4D5345D3456F3F4F5F603456FPacked decimal numbersVí dụ: Sử dụng hệ nhị phân, biểu diễn từ BIT dưới dạng mã EBCDI. Bao nhiêu bytes được yêu cầu?B= 1100 0010 trong hệ đếm nhị phân EBCDICI = 1100 1001 trong hệ đếm nhị phân EBCDICT = 1110 0011 trong hệ đếm nhị phân EBCDIC Mã EBCDIC cho từ BIT trong nhị phân sẽ là 11000010 11001001 11100011 B I TPacked decimal numbersVí 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 EBCDICO = D6 trong hệ đếm thập lục phân EBCDICN = D5 trong hệ đếm thập lục phân EBCDICE = 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 EPacked decimal numbersVí dụ: dùng mã EBCDIC biểu diễn số +256 (sử dụng hệ 16). Cần bao nhiêu bytes?+256=F2F5C6 trong EBCDICMỗi chữ số thập lục phân cần 4bits cần 6 x 4 = 24 bit, hoặc 3 byte (8 bit = 1 byte)Packed decimal numbersVí dụ: Mã hóa -128 theo dạng packed decimal number (sử dụng thập lục phân). Cần bao nhiêu bytes? -128 = F1F2D8 in EBCDIC =128D Định dạng đóng góiMỗ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.  cần 4 x 4 = 16 bit hoặc 2 byte (8 bit = 1 byte).Bài tập trang 60Sử dụng hệ thập lục phân biểu diễn các số sau đây bằng mã zoned-decimal:1256 c) -63+439 d) -786Cần bao nhiêu bytes cho mỗi sốSử dụng hệ thập lục phân biểu diễn các số sau đây bằng mã packed-decimal:12915 c) 872+9876 d) -256Cần bao nhiêu byte cho mỗi sốBài tập trang 60Sử dụng hệ nhị phân biểu diễn các từ sau đây ở dạng mã EBCDIC:SUN c) CATMOON d) DOG Sử dụng hệ 16 biểu diễn các từ sau ở dạng mã EBCDIC:PROGRAM c) BYTEOUTPUT d) OCTALMã ASCII (American Standard Code for Information Interchange)ASCII có hai kiểu ASCII-7 và ASCII-8. ASCII-7: sử dụng 7-bits biểu diễn một ký hiệu, ASCII-7 biểu diễn 128(27) kí tự khác nhau, 3 bits đầu biểu diễn mã vùng, 4 bits sau biểu diễn ký số. ASCII-8: sử dụng 8-bit biểu diễn một ký hiệu, ASCII-7 biểu diễn 256 (28) ký tự khác nhau. 128 ký tự đầu của ASCII-7 và ASCII-8 là giống nhauMã ASCII (American Standard Code for Information Interchange)Mã ASCII (American Standard Code for Information Interchange)Mã ASCII (American Standard Code for Information Interchange)Mã ASCII (American Standard Code for Information Interchange)Ví dụ: dùng hệ nhị phân biểu diện từ BOY dạng mã ASCII-7. Cần bao nhiêu byte? 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 BOY dưới dạng mã ASCII-7 1000010 1001111 1011001 B O YMỗi ký tự trong ASCII-7 cần 1 byte  cần 3 byteMã ASCII (American Standard Code for Information Interchange)Ví dụ: Dùng mã thập lục phân biểu diễn từ GIRL trong mã ASCII-7, cần bao nhiêu bytesG = 47 trong ASCII-7 hệ đếm thập lục phânI = 49 trong ASCII-7 hệ đếm thập lục phânR = 52 trong ASCII-7 hệ đếm thập lục phânL = 4C trong ASCII-7 hệ đếm thập lục phânTừ GIRL trong mã ASCII-7 hệ thập lục phân: 47 49 52 4C G I R LMỗi ký tự trong ASCII-7 cần 1 byte cần 4 byteMã ASCII (American Standard Code for Information Interchange)Ví dụ: dùng hệ nhị phân biểu diễn từ SKY trong mã ASCII-8. Cần bao nhiêu byte?S = 10110011 trong ASCII-8 hệ đếm thập lục phânK = 10101011 trong ASCII-8 hệ đếm thập lục phânY = 10111001 trong ASCII-8 hệ đếm thập lục phânTừ SKY trong ASCII-8: 10110011 10101011 10111001 S K YMỗi ký tự trong mã ASCII-8 cần 1 byte cần 3 byte.Mã ASCII (American Standard Code for Information Interchange)Ví dụ: dùng hệ thập lục phân biểu diễn từ START dạng mã ASCII-8. Cần bao nhiêu byte?S = B3 trong ASCII-8 hệ đếm thập lục phânT = B4 trong ASCII-8 hệ đếm thập lục phânA = A1 trong ASCII-8 hệ đếm thập lục phânR = B2 trong ASCII-8 hệ đếm thập lục phânTừ STAR trong mã ASCII-8: B3 B4 A1 B2 S T A RMỗi ký tự trong ASCII-8 cần 1 byte  cần 4 byteBài tậpDùng hệ nhị phân biểu diễn các từ sau đây ở dạng mã ASCII-7 and ASCII-8: a) DRY c) DAMP b) WET d) TERMDùng hệ 16 biểu diễn các từ sau đây ở dạng mã ASCII-8: a) PRINT c) RUB b) TYPE d) GIVEUnicodeTại sao sử dụng UnicodeLà bộ mã đơn nhất được thiết kế theo chuẩn quốc tế, hỗ trợ tất cả các ngôn ngữĐặc điểm của UnicodeCung cấp một cách thống nhất để mã hóa các văn bản đa ngôn ngữXác định các mã cho các ký tự được sử dụng trong tất cả các ngôn ngữ trên thế giớiXác định mã cho các ký tự đặc biệt, ký hiệu toán học, UnicodeCó khả năng mã hóa nhiều triệu ký tựGán mỗi ký tự với một giá trị số và một tên duy nhấtTạo sự đơn giản và nhất quán của mã ascii, ngay cả những ký tự tương ứng có cùng một mãCác dạng Unide thông dụng:UTF-8UTF-16UTF-32Trình tự sắp xếp (Collating sequence)Xác định thứ tự giữa các ký tự được sử dụng trong máy tínhTrình tự sắp xếp giữa các ký tự là khác nhau phụ thuộc vào loại mã máy được sử dụng trên các máy riêng biệtThông dụng nhất:Thứ tự sắp xếp các chữ cái (alphabetic order) ( A ký tự trong bảng chữ cái, do đó chuỗi sẽ được sắp xếp như sau: 23 > 1A > A1  A1, 1A, 123Trình tự sắp xếp (Collating sequence)Ví dụ: máy tính sử dụng mã ASCII, xác định trình tự của các chuỗi 23, A1, 1A?Trong mã ASCII, ký tự số < ký tự chữ. Do đó chuỗi sẽ được sắp xếp như sau: 1A < 23 <A1  1A, 23, A1Bài tậpMộ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. ADDBài tậpMột máy tính sử dụng ASCII. Xác định thứ tự của các chuỗi sau: a. BED b. 512 c. 400 d. 128 e. BADBài tậpViết 4-bit, mã BCD cho số sau đây: 2510641012810102410Sử dụng hệ nhị phân, biểu diễn bằng mã BCD cho các từ sau: a. BIT b. BYTE c. ZEROBài tậpSử dụng hệ bát phân biển diễn các từ bên dưới ở dạng mã BCD: a. COMPUTER b. VIDEO c. INPUT d. OUTPUTDùng hệ nhị phân, biểu diễn dạng mã EBCDIC cho các từ sau? a. SUN b. MOON c. CAT d. DOG Bài tậpDùng hệ thập lục phân, viết mã EBCDIC cho các từ sau, cần bao nhiêu bytes cho mỗi từ?PROGRAMOUTPUTBYTEOCTALSử dụng hệ thập lục phân, viết mã cho các số thập phân sau:1256+439-63-786 Bài tậpSử dụng hệ thập lục phân, viết mã cho số thập phân sau: PRINTTYPERUBGIVEMộ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?ABC123245ADDCâu hỏiTại sao mã EBCDIC được mở rộng từ mã BCD?Có bao nhiêu ký tự khác nhau được biểu diễn bởi các mã sau: a. BCD b. EBDIC c. ASCII-7 d. ASCII-8Câu hỏiTại sao phải sử dụng dạng mã Packed decimal, sự khác nhau giữa dạng decimal và packed decimalSự giống và khác nhau giữa ASCII 7-bit và ASCII 8-bit

Các file đính kèm theo tài liệu này:

  • pptxchuong4_mamay_4611.pptx