Introduction to Windows NT Session 1 of Networking with Windows NT MÃ MÁY Chương 4 Computer Codes 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 1 Nội Dung ■ BCD Binary Coded Decimal[.]
Trang 1MÃ MÁY
Chương 4
Computer Codes
Trang 24.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
1Nội Dung
Trang 3■ BCD : Binary Coded Decimal (6 bits)
■ EBCDIC: Extended Binary-Code decimal Interchange Code (8 bits)
Numbers
2Các Loại Mã Máy
Trang 4■ 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
Trang 5BCD tương ứng với các ký số thập phân
Mã BCD – Binary Coded Decimal
Trang 6■ 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???
Trang 7■ 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
6
Mã BCD – Binary Coded Decimal
Trang 8Ký tự Mã BCD Biểu diễn hệ bát phân
Octal Vùng (zone) Ký số (Digit)
Trang 9Ký tự Mã BCD Biểu diễn hệ bát phân
Octal Vùng(Zone) Ký số (Digit)
Trang 10Mã BCD – Binary Coded Decimal
Trang 11■ Ví dụ: Biểu diễn số nhị phân cho từ BASE trong BCD
Trang 12■ Ví dụ 4.2: Dùng hệ bát phân, biểu diễn mã BCD cho từ
Trang 13Ký tự Mã BCD Biểu diễn hệ bát phân
(Octal) Vùng(Zone) Ký số(Digit)
Trang 142 Write the 4-bit BCD code for the following numbers:
Trang 15■ 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à
Trang 16Kí tự
Mã EBCDIC
Biểu diễn hệ thập lục
phân (Hexa) Vùng(zone) Ký số(Digit)
Trang 17Kí tự
Mã EBCDIC
Biểu diễn hệ thập lục
phân (Hexa) Vùng(Zone) Ký số(Digit)
Trang 18Mã EBCDIC–Extended Binary Coded Decimal Interchange Code
Trang 19■ 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
Trang 20Kí tự
Mã EBCDIC
Biểu diễn hệ thập lục
phân (Hexa) Vùng(Zone) Ký số(Digit)
Trang 21Bà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:
Trang 22Mã 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 trong hệ đếm thập lục phân
19Zoned and Packed Decimal Numbers
Trang 23Mã 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
Trang 24Ví 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)
21Zoned and Packed Decimal Numbers
Trang 25Ví 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).
22Zoned and Packed Decimal Numbers
Trang 26Ví 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)
23Zoned and Packed Decimal Numbers
Trang 27Ví dụ:
dụng thập lục phân) Bao nhiêu bytes được yêu cầu?
-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).
24Zoned and Packed Decimal Numbers
Trang 28Bà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
25Zoned and Packed Decimal Numbers
Trang 29■ 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
26ASCII- American Standard Code for Information Interchange
Trang 30ASCII-7 code
Hexadecimal Equivalent
Trang 31Kí tự
Mã ASCII-8
Hệ thập lục phân Vùng Kí số
Trang 32Ví 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
byte mô tả chữ BOY
29ASCII- American Standard Code for Information Interchange
Trang 33Ví 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à
Trang 34Ví 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
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.
31ASCII- American Standard Code for Information Interchange
Trang 35Ví 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à
Trang 36Bài tập 15, 16 trang 60
15.Using binary notation, write the ASCII-7 and ASCII-8
codes for the following words:
16.Using hexadecimal notation, write the ASCII-7 and
ASCII-8 codes for the following words:
33ASCII- American Standard Code for Information Interchange
Trang 37Bài tập 15, 16 trang 60
15.Using binary notation, write the ASCII-7 and ASCII-8
codes for the following words:
16.Using hexadecimal notation, write the ASCII-7 and
ASCII-8 codes for the following words:
33ASCII- American Standard Code for Information Interchange
Trang 38■ 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 )
34Trình Tự Sắp Xếp – Collating Sequence
Trang 39Ví 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
35Trình Tự Sắp Xếp – Collating Sequence
Trang 40Ví 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, 23
35Trình Tự Sắp Xếp – Collating Sequence
Trang 41Ví 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
35Trình Tự Sắp Xếp – Collating Sequence
Trang 42■ 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, …
Trang 43– Có 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ất
– Tạ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-8
– UTF-16
– UTF-32
Trang 44Bài tập
1. Một máy tính sử dụng mã BCD miêu tả cho các kí
tự Thứ tự sắp xếp các chuỗi sau thế nào?
Trang 461 “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:
Trang 474 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:
Trang 487 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 :
Trang 4910 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:
Trang 5012 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:
Trang 5115 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?