Giáo trình Tin học - Chương 1: Hệ đếm – Mã hóa và lưu trữ thông tin

6. Bài tập 1. Cho biết biểu diễn nhị phân của các số ở hệ thập lục phân sau: a. BC b. 67 c. 10 e. 3F 2. Cho biết bit cực trái trong biểu diễn nhị phân của các số trong hệ thập lục phân là gì? a. FF b. 7F c. 8F e. 1F 3. Biểu diễn các dãy bit sau về hệ thập lục phân: a. 101010101010 b. 110010110111 c. 000011101011 4. Cho một màn hình có thể hiển thị được 24 dòng, ứng với mỗi dòng có 80 ký tự. Nếu một điểm trên màn hình được lưu trữ trong bộ nhớ bằng một byte cho mã ASCII của ký tự tại điểm đó, thì có bao nhiêu byte để lưu trữ toàn bộ các điểm trên màn hình? 5. Biến đổi các dãy bit sau về hệ thập lục phân tương ứng: a. 111 b. 0001 c. 11101 d. 10001 e. 10111 f. 00000 g. 100 h. 1000 i. 10000 j. 11001 k. 11010 l. 11011

pdf16 trang | Chia sẻ: vutrong32 | Lượt xem: 1172 | Lượt tải: 0download
Bạn đang xem nội dung tài liệu Giáo trình Tin học - Chương 1: Hệ đếm – Mã hóa và lưu trữ thông tin, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
MỤC LỤC 1 MỤC LỤC MỤC LỤC..........................................................................................................................................1 Chương 1 - HỆ ĐẾM – MÃ HÓA VÀ LƯU TRỮ THÔNG TIN ................................................2 1. MÃ HÓA VÀ LƯU TRỮ THÔNG TIN ......................................................................................... 2 1.1. Cách tổ chức dữ liệu trong bộ nhớ chính.................................................................................. 2 1.2. Cách tổ chức một Byte.............................................................................................................. 2 1.3. Các kiểu dữ liệu ........................................................................................................................ 3 1.4. Các ngôn ngữ lập trình.............................................................................................................. 3 2. CÁC HỆ ĐẾM ................................................................................................................................. 3 2.1. Hệ nhị phân (cơ số 2)................................................................................................................ 3 2.2. Hệ bát phân (cơ số 8) ................................................................................................................ 4 2.3. Hệ thập phân (cơ số 10) ............................................................................................................ 4 2.4. Hệ thập lục phân (cơ số 16) ...................................................................................................... 4 3. CÁC QUI TẮC CHUYỂN ĐỔI MỘT SỐ GIỮA CÁC HỆ ĐẾM.................................................. 5 3.1. Qui tắc chung ............................................................................................................................ 5 3.2. Qui tắc chuyển đổi một số từ hệ 10 sang hệ cơ số b (b ≠10).................................................... 5 3.3. Qui tắc chuyển đổi một số từ hệ 2 sang hệ 16 .......................................................................... 5 3.4. Qui tắc chuyển đổi một số từ hệ 16 sang hệ nhị phân .............................................................. 5 4. CÁC PHÉP TOÁN TRÊN SỐ NHỊ PHÂN..................................................................................... 5 4.1. Cộng nhị phân ........................................................................................................................... 5 4.2. Cách lưu trữ số âm.................................................................................................................... 6 4.3. Cách lưu trữ số thực.................................................................................................................. 8 4.4. Các phép toán số học (arithmatic)/luận lý (logic)................................................................... 13 5. Bảng mã ASCII.............................................................................................................................. 15 6. Bài tập ............................................................................................................................................ 15 Đại học Y Dược Tp. HCM – Bộ môn Tin học Tháng 10/2008 Chương 1: Hệ đếm – Mã hóa và lưu trữ thông tin 2 Chương 1 - HỆ ĐẾM – MÃ HÓA VÀ LƯU TRỮ THÔNG TIN 1. MÃ HÓA VÀ LƯU TRỮ THÔNG TIN Lưu trữ thông tin trên bộ nhớ (chính và phụ) dựa trên khả năng biểu diễn thông tin qua các bit (đơn vị lưu trữ dữ liệu nhỏ nhất trong bộ nhớ). 1.1. Cách tổ chức dữ liệu trong bộ nhớ chính Đơn vị lưu trữ nhỏ nhất trong bộ nhớ là bit (Binary ditgit). Bit có hai trạng thái: 0/False và 1/True. Thông tin được biểu diễn thông qua một nhóm bit (0 và 1), các thông tin khác nhau sẽ có dãy bit khác nhau. Thông tin có thể là ký tự, số, hoặc dấu câu,Tốc độ truyền dữ liệu được tính dưới dạng số bit trên 1 giây. 1 Kbps = 103 bits per second (hay 103 bps). 1 Mbps = 106 bits per second. Mỗi 8 bit gộp lại thành một nhóm nhỏ gọi là Byte (theo thứ tự từ phải qua trái). Số lượng byte trong bộ nhớ ở mỗi máy tính là khác nhau. Kích thước bộ nhớ chính được đo bằng đơn vị Mega Byte (MB). Ngoài ra, còn có các đơn vị đo lường khác như sau: 1 KB = 1024 Byte = 210 Byte. 1 MB = 1024 KB = 220 Byte. 1 GB = 1024 MB = 230 Byte. Tóm lại, bộ nhớ máy tính là chuỗi các byte được tạo từ các bit. Các byte bộ nhớ có thể truy cập (access) hoặc cho phép đặt lại giá trị. Dữ liệu ở một byte là xác định tại một thời điểm, nghĩa là nếu có yêu cầu thay đổi thông tin thì thông tin cũ sẽ bị mất. Thao tác lấy thông tin từ bộ nhớ gọi là thao tác đọc dữ liệu (Read) và thao tác ghi thông tin lên bộ nhớ gọi là thao tác ghi dữ liệu (Write). Đối với các byte cho phép cả hai thao tác đọc – ghi (Read – Write) dữ liệu thì các byte này nằm trong bộ nhớ RAM (Random Access Memory), dữ liệu lưu trữ ở các byte này sẽ bị mất khi có sự cố mất điện. Với các byte chỉ cho thao tác đọc (Read) thì các byte này nằm trong bộ nhớ ROM (Read Only Memory), các byte này chứa các dữ liệu do nhà sản xuất đưa vào. 1.2. Cách tổ chức một Byte Một Byte có 8 bit được đánh số từ phải sang trái với các số từ 0 đến 7. Bit thứ: 7 6 5 4 3 2 1 0 1 0 1 0 1 1 1 0 Bit có ý nghĩa nhất Bit ít có ý nghĩa nhất Bit thứ 7 gọi là bit cao (cực trái) và bit thứ 0 gọi là bit thấp (cực phải). Một Byte có thể lưu trữ một số nguyên có giá trị trong khoảng từ 0 đến 255 (00000000 đến 11111111). Như vậy, với 2 Byte có thể lưu trữ một số nguyên có giá trị từ 0 đến 65535. Sử dụng phương pháp nhị phân để lưu trữ làm tăng hiệu quả lưu trữ các sô nguyên so với cách dùng bảng mã ASCII. Ngoài ra, còn sử dụng hệ nhị phân để biểu diễn các số âm (dùng phương pháp bù 2), hoặc dùng phương pháp dấu chấm động để biểu diễn số thập phân (số thực). Đại học Y Dược Tp. HCM – Bộ môn Tin học Tháng 10/2008 Chương 1: Hệ đếm – Mã hóa và lưu trữ thông tin 3 1.3. Các kiểu dữ liệu 1.3.1. 1.3.2. 1.3.3. Số nguyên (Integer) Trong thế hệ máy 8086, số nguyên integer được lưu trữ trong 2 Byte (16-bit). Như vậy tối đa có 216 = 65536 giá trị nguyên dương. Để biểu diễn số nguyên âm, trong dãy 16-bit, chia thành hai vùng: - 1 bit dùng làm bit dấu (cực trái). - 15 bit còn lại là giá trị số (215=32 768 số). Có nhiều phương pháp biểu diễn số âm trong máy tính. Thông thường người ta dùng phương pháp bù 2. Trong phương pháp này, phạm vi giá trị nguyên từ -32 768 đến +32 767. Số thực (Real) Số thực được biểu diễn dưới dạng dấu chấm tĩnh hoặc dấu chấm động. Trong biểu diễn số thực dấu chấm động 4 Byte (32-bit), phạm vi số thực từ 10-38 đến10+38 (số âm và dương). Ký tự Trong bảng qui ước ASCII, kích thước một ký tự là 1 Byte. Như vậy, bảng mã này có 256 ký tự. Trong bảng Unicode, kích thước một ký tự là 2 Byte, do đó bảng mã này có đến 65536 ký tự, gồm nhiều bộ ký tự của các quốc gia. 1.4. Các ngôn ngữ lập trình 1. Hợp ngữ (Assembly) 2. FORTRAN 3. C/C++ 5. Java 6. Visual Basic 7. C# 8. PHP 9. 2. CÁC HỆ ĐẾM 2.1. Hệ nhị phân (cơ số 2) Hệ nhị phân (hay còn gọi là Binary) biểu diễn giá trị dưới dạng dãy các bit 0 và 1. Ví dụ: 1011. Các số biểu diễn ở hệ nhị phân là một dãy bit, ứng với mỗi vị trí bit được gán một trọng số đi từ phải qua trái có giá trị từ 1,2,4,8,..Dựa theo qui luật: số sau bằng 2 lần số trước. Ví dụ dãy bit 100101 là biểu diễn nhị phân của 37. 100101 = 1x1 = 1 0x2 = 0 1x4 = 4 0x8 = 0 0x16 = 0 1x32 = 32 Giá trị tổng cộng = 37 Đại học Y Dược Tp. HCM – Bộ môn Tin học Tháng 10/2008 Chương 1: Hệ đếm – Mã hóa và lưu trữ thông tin 4 2.2. Hệ bát phân (cơ số 8) Tên gọi trên máy tính là Octor. Nhóm 3 bit lại với nhau (từ phải qua trái), ta được các số biểu diễn ở hệ 8 (23=8). Bảng chuyển đổi giữa hệ 2 và hệ 8: Hệ 2 Hệ 8 Hệ 2 Hệ 8 000 0 100 4 001 1 101 5 010 2 110 6 011 3 111 7 2.3. Hệ thập phân (cơ số 10) Tên gọi trên máy tính là Decimal. Các số cơ bản biểu diễn trong hệ cơ số 10 từ 0 đế 9. Ví dụ số 37. 2.4. Hệ thập lục phân (cơ số 16) Tên gọi trên máy tính là Hexa. Nhóm 4 bit lại với nhau (từ phải qua trái), ta được các số biểu diễn ở hệ 16 (24=16). Các số biểu diễn trong hệ 16: - Giá trị số: Từ 0 đến 9 - Ký tự: Từ A đến F. Bảng chuyển đổi giữa hệ 2, 10, và 16: Hệ 2 Hệ 10 Hệ 16 Hệ 2 Hệ 10 Hệ 16 0000 0 0 1000 8 8 0001 1 1 1001 9 9 0010 2 2 1010 10 A 0011 3 3 1011 11 B 0100 4 4 1100 12 C 0101 5 5 1101 13 D 0110 6 6 1110 14 E 0111 7 7 1111 15 F Đại học Y Dược Tp. HCM – Bộ môn Tin học Tháng 10/2008 Chương 1: Hệ đếm – Mã hóa và lưu trữ thông tin 5 3. CÁC QUI TẮC CHUYỂN ĐỔI MỘT SỐ GIỮA CÁC HỆ ĐẾM Các số cơ bản của một hệ đếm là các số tối thiểu để biểu diễn mọi số trong hệ đếm ấy. 3.1. Qui tắc chung Nếu một số có giá trị lớn hơn các số cơ bản thì nó sẽ được biểu diễn bằng cách tổ hợp các chữ số cơ bản theo công thức sau: X= an an-1a1 ao = anbn + an-1bn-1a1b + ao (*) Với b là cơ số của hệ đếm, an,an-1,a1,ao là các chữ số cơ bản. X là số ở hệ đếm cơ số b. 3.2. Qui tắc chuyển đổi một số từ hệ 10 sang hệ cơ số b (b ≠10) Lấy số thập phân chia cho cơ số b cho đến khi phần dương của phép chia bằng 0, số đổi được sẽ là các phần dư của phép chia theo thứ tự ngược lại. Ví dụ: cho X=610 nghĩa là X=6 trong hệ 10 sẽ được đổi thành 1102 trong hệ 2. Cách đổi như sau: 6 chia 2 = 3, dư 0 3 chia 2 = 1, dư 1 1 chia 2 = 0, dư 1 Vậy kết quả là: 110. Ngược lại, nếu muốn đổi một số từ cơ số b sang cơ số 10, ta sử dụng công thức (*). Ví dụ: X=1102 thì X=1x22 +1x21 +0=6. 3.3. Qui tắc chuyển đổi một số từ hệ 2 sang hệ 16 Nhóm lần lượt 4 bit từ phải qua trái, sau đó thay thế các nhóm 4 bit bằng các giá trị tương ứng với hệ thập lục phân (tra bảng). Ví dụ: X=11’10112=3B16. 3.4. Qui tắc chuyển đổi một số từ hệ 16 sang hệ nhị phân Ứng với mỗi chữ số sẽ được biểu diễn dưới dạng 4 bit nhị phân. Ví dụ: X=3B16=0011’10112=11’10112. 4. CÁC PHÉP TOÁN TRÊN SỐ NHỊ PHÂN 4.1. Cộng nhị phân + 0 1 0 0 1 1 1 10 Khi cộng, thực hiện công từ phải qua trái, ứng với mỗi cột ta cộng 2 số theo qui tắc trên, nếu có nhớ thì cộng nhớ sang cột kế bên. Ví dụ: cộng hai dãy bit sau đây, dãy 1: 111010; dãy 2: 11011 0 0 1 1 1 0 1 0 0 0 0 1 1 0 1 1 + 1 Đại học Y Dược Tp. HCM – Bộ môn Tin học Tháng 10/2008 Chương 1: Hệ đếm – Mã hóa và lưu trữ thông tin 6 0 0 1 1 1 0 1 0 0 0 0 1 1 0 1 1 Nhớ 1 + 0 1 0 0 1 1 1 0 1 0 0 0 0 1 1 0 1 1 + 1 0 1 0 0 1 1 1 0 1 0 0 0 0 1 1 0 1 1 Nhớ 1 + 0 1 0 1 0 0 1 1 1 0 1 0 0 0 0 1 1 0 1 1 Nhớ 1 + 1 0 1 0 1 0 0 1 1 1 0 1 0 0 0 0 1 1 0 1 1 Nhớ 1 + 0 1 0 1 0 1 0 0 1 1 1 0 1 0 0 0 0 1 1 0 1 1 + 1 0 1 0 1 0 1 0 0 1 1 1 0 1 0 0 0 0 1 1 0 1 1 + 0 1 0 1 0 1 0 1 4.2. Cách lưu trữ số âm 4.2.1. Phương pháp dấu lượng (sign – magnitude) Bit cực trái dùng làm bit dấu. Bit 1 là dấu dương (+), và bit 0 là dấu âm (-). Ví dụ: với mẫu là 4 bit thì các số biểu diễn như sau: Mẫu bit Giá trị biểu diễn 1111 7 1110 6 1101 5 1100 4 1011 3 1010 2 1001 1 1000 0 Mẫu bit Giá trị biểu diễn 0111 -1 0110 -2 0101 -3 0100 -4 0011 -5 0010 -6 0001 -7 0000 -8 Đại học Y Dược Tp. HCM – Bộ môn Tin học Tháng 10/2008 Chương 1: Hệ đếm – Mã hóa và lưu trữ thông tin 7 Để biểu diễn một số âm về dạng nhị phân có dấu với mẫu K bit thì lấy số cần biểu diễn cộng thêm 2k-1, sau đó biểu diễn chúng về hệ nhị phân. Ví dụ: Với số +5 trong mẫu 4 bit thì biểu diễn là 5 + 23 = 1310 sẽ là 1101. Với số -5 trong mẫu 4 bit thì biểu diễn là -5 + 23 = 310 sẽ là 0011. 4.2.2. 4.2.3. Biểu diễn số bù 1 Vẫn dùng bit cực trái làm bit dấu nhưng với qui định bit 0 cho số dương và bit 1 cho số âm. Để biểu diễn số n theo dạng bù 1, ta áp dụng qui tắc biểu diễu dưới dạng nhị phân của trị tuyệt đối n theo mẫu K bit cho trước. Nếu n<0, đổi 1 thành 0 và ngược lại. Ví dụ: Với n = 5 (mẫu 4 bit) biễu diễn theo phương pháp bù 1 là 0101. n = -5 ______________________________________1010. Với n = 6 _______________________________________0110. n = -6_______________________________________1001. Biểu diễn số bù 2 Vẫn sử dụng bit cực trái làm bit dấu giống như bù 1, nhưng có một số khác biệt khi đổi sang hệ nhị phân có dấu. Biểu diễn dưới dạng nhị phân của trị tuyệt đối n theo mẫu K bit cho trước. Nếu n<0, bắt đầu từ phải qua trái giữ nguyên các bit cho đến khi gặp bit có giá trị 1 đầu tiên, sau đó các bit tiếp theo bên trái bit 1 đầu tiên đó đổi 1 thành 0 và ngược lại. Ví dụ: Với n = -6, biểu diễn nhị phân trị tuyệt đối của n (theo mẫu 4 bit) là 0110, khi đó biểu diễn số bù 2 của n là 1010. Biểu diễn số bù 2 theo mẫu 4 bit Mẫu bit Giá trị biểu diễu 0111 7 0110 6 0101 5 0100 4 0011 3 0010 2 0001 1 0000 0 Mẫu bit Giá trị biểu diễu 1111 -1 1110 -2 1101 -3 1100 -4 1011 -5 1010 -6 1001 -7 1000 -8 Đại học Y Dược Tp. HCM – Bộ môn Tin học Tháng 10/2008 Chương 7– EndNote 8 Thực chất, số biểu diễn dưới dạng bù 2 là số biểu diễn ở dạng bù 1, sau đó cộng thêm 1. 4.2.4. Phép cộng số bù 1 và bù 2 4.2.4.1 Cộng số bù 1 Khi thực hiện phép toán cộng đối với số bù 1, làm tương tự như cộng nhị phân. Nếu ở hai bit cực trái khi thực hiện phép cộng có phát sinh nhớ thì cộng nhớ vào kết quả. Ví dụ: thực hiện cộng m = - 6 biểu diễn bù 1 (mẫu 5 bit) là 11001, và n = - 4 biểu diễn bù 1 (mẫu 5 bit) là 11011. 1 1 0 0 1 + 1 1 0 1 1 Nhớ 1 1 0 1 0 0 + 1 Cộng thêm Nhớ 1 1 0 1 0 1 -10 ở bù 1 4.2.4.2 Cộng số bù 2 Khi thực hiện phép toán cộng đối với số bù 2, làm tương tự như cộng nhị phân. Nếu ở hai bit cực trái khi thực hiện phép cộng có phát sinh nhớ thì bỏ nhớ. Ví dụ: Thực hiện cộng m = - 6 biểu diễn bù 2 (mẫu 5 bit) là 11010, và n = - 4 biểu diễn bù 1 (mẫu 5 bit) là 11100. 1 1 0 1 0 1 1 1 0 0 + 1 0 1 1 0 -10 ở bù 2 (bỏ nhớ 1) 4.2.5. 4.3.1. Tràn số Hiện tượng tràn số xảy ra khi số cần biểu diễn vượt quá số bit cho trước. Ví dụ: Thực hiện phép cộng m = -6 và n = -4 ( bù 1 theo mẫu 4 bit). Kết quả phép cộng ở dạng bù 1 là 0110 là biểu biễn của +6 Æ kết quả sai!!!. Để tránh trường hợp lỗi tràn số, ta tăng số bit biểu diễn lên. Tổng quát, số ở dạng bù 1 và 2, giá trị dương lớn nhất khi dùng mẫu n bit là: 2n-1-1 và giá trị âm nhỏ nhất là -2n-1. 4.3. Cách lưu trữ số thực Khác với số nguyên, số thực không chỉ đơn thuần biểu diễn ở dạng nhị phân 0 và 1 và còn dựa vào dấu chấm cơ số, thường gọi là biểu diễn dấu chấm động (floating point notation). Biểu diễn số thực dùng dấu chấm tĩnh (Fixed-point) Để biểu diễn hỗn số bằng hệ nhị phân ta dùng dấu chấm cơ số (radix point). Số bên trái dấu chấm cơ số biểu diễn nhị phân của phần nguyên của số thực và bên phải là biểu diễn nhị phân của phần dư (phân số), vị trí bit bên phải đầu tiên sau dấu chấm là biểu diễn cho số 1/2,1/4,1/8,Với qui luật số sau nhỏ hơn 2 lần số trước. Các giá trị này gọi là trọng số của bit tương ứng với vị trí tính từ vị trí đầu tiên bên phải của dấu chấm cơ số. Đại học Y Dược Tp. HCM – Bộ môn Tin học Tháng 10/2008 Chương 7– EndNote 9 Để biến đổi số thực ở hệ 2 phân sang hệ 10, thực hiện đổi phần nguyên và phần dư (phân số) sang hệ thập phân, nhưng chú ý số nhị phân bên phải dấu chấm sẽ có trọng số bắt đầu từ ½ và giảm một nữa từ trái sang phải. Ví dụ: Cho số thực 5.625, biểu diễn nhị phân là 101.101. Cách tính như sau: Phần nguyên là 5, biểu diễn nhị phân là 101 (tra bảng). Phần dư (phân số là 5/8): 0.625 chia ½ (nhân 2) = 1.25 0.25 chia ½ = 0.5 0.5 chia ½ = 1 Do đó, biểu diễn nhị phân của 0.625 là 101. Trong trường hợp ngược lại, muốn chuyển phần dư từ hệ 10 sang hệ 2 thì nhân thêm ½. 4.3.2. Cộng nhị phân trên số thực Cộng nhị phân trên số thực cũng giống như cộng nhị phân trên số nguyên, nhưng chú ý là dấu chấm cơ số phải sắp thẳng hàng cho hai số. Ví dụ: 1 0 . 0 1 1 Biểu diễn của 2.375 1 0 0 . 1 1 Biểu diễn của 4.75 + 1 1 1 . 0 0 1 Biểu diễn của 7.125 4.3.3. Phương pháp biểu diễn dấu chấm động (Floating-point) Để biểu diễn số thực dưới dạng dấu chấm động, sử dụng các khái niệm: - Bit dấu (Sign): 0 (dương); 1(âm). - Phần mũ (Expnent). - Phần định trị (Mantissa). nb = be.m, trong đó: b: cơ số e: phần mũ m: phần định trị Ví dụ: n=17 17 = 101x1.7 Phương pháp này sử dụng chuẩn IEEE tích hợp sẳn trong các thế hệ máy tính sử dụng chip Intel (Pentium) hiện nay. Chuẩn IEEE (Institude of Electical and Electronics Engineers) dành riêng cho biểu diễn và tính toán trên số thực. Dựa vào số bit biểu diễn, chuẩn IEEE phân thành 4 mức cơ bản sau: Presision Sign (bits) Exponent (bits) Mantissa (bits) Total (bits) 2 byte (half) 1 5 10 16 4 bytes (single) 1 8 23 32 8 bytes (double) 1 11 52 64 4.3.3.1 Phương pháp chung Đại học Y Dược Tp. HCM – Bộ môn Tin học Tháng 10/2008 Chương 7– EndNote 10 Miền giá trị của e bits mũ: -2e-1 ≤ E ≤ 2e-1-1. Một số trường hợp đặc biệt: Type Exponent Mantissa Zeroes 0 0 Denormal 0 Non zero Normal 12e-2 Any Infinities (không xác định) 2e-1 0 Not a Number 2e-1 Non zero Mỗi miền giá trị bỏ đi 2 giá trị: Infinities và NaN. Do đó, ta có bảng tương ứng 4 mức biểu diễn như sau: Presision Emin Emax 2 byte (half) -14 15 4 bytes (single) -126 127 8 bytes (double) -1022 1023 16 bytes (quadruple) -16382 16383 4.3.3.2 Dùng 32-bits Biểu diễn giá trị: v = s x 2e x m, trong đó: s = +1 khi bit dấu (S) là 0. s = -1 khi bit dấu (S) là 1. e = Exp – 127 (Exp là giá trị thập phân của 8 bit mũ). m =1. (1 ≤ m < 2). Ví dụ: biểu diễn nhị phân n=-118.625 (dùng chuẩn IEEE 754). 1. Biểu diễn n sang nhị phân dùng dấu chấm tĩnh (Fixed-point): 1110110.101 2. Di chuyển dấu chấm cơ số đến sau bit đầu tiên: 1.110110101 x 26. 3. Điền bit 0 vào sau dãy sao cho đủ 23 bit (tính từ sau dấu chấm cơ số): 11011010100000000000000. Đại học Y Dược Tp. HCM – Bộ môn Tin học Tháng 10/2008 Chương 7– EndNote 11 4. Ta xác định được số mũ e = 6. Theo công thức: Exp = 127+6 = 133. Chuyển 133 sang hệ nhị phân sẽ là: 10000101. Một số giá trị đặc biệt Sign (S) Exponent (e) Mantissa (m) Value 0 00000000 00000000000000000000000 +0 (positive zero) 1 00000000 00000000000000000000000 -0 (negative zero) 1 00000000 10000000000000000000000 -2 0-127 x0.(2 -1 )= -2 0-127 x 0.5 0 00000000 00000000000000000000001 +2 0-127 x0.(2 -23 ) (smallest value) 0 00000001 01000000000000000000000 +2 1-127 x1.(2 -2 )= +2 1-127 x1.25 0 10000001 00000000000000000000000 +2 129-127 x1.0= 4 0 11111111 00000000000000000000000 + infinity 1 11111111 00000000000000000000000 - infinity 0 11111111 10000000000000000000000 Not a Number(NaN) 1 11111111 10000100010000000001100 Not a Number(NaN) Lưu ý, vấn đề khi biểu diễn số thực là làm tròn số. Do đó, ta dùng phương pháp làm tròn giá trị gần số chẳn nhất. Ví dụ: Unrounded Rounded 3.4 3 5.6 6 3.5 4 2.5 2 4.3.3.3 Cộng (trừ) hai số thực Ví dụ: Cộng hai số thực dưới dạng dấu chấm động sau: m = 24 x 1.1001 n = 22 x 1.0010 Bước 1: lấy hiệu của số mũ. Em = 24 (em = 4); En = 22 (en = 2) Î Em-n = 24-2 = 22 (em-n = 2) Bước 2: Di chuyển dấu chấm cơ số sang phải em-n vị trí. Ta được: 1.1001 000 0.0100 100 Bước 3: Cộng hai số lại với nhau: 1.1001 000 0.0100 100 1.1101 100 Bước 4: Làm tròn kết quả cộng ở bước 3: 1.1101 Æ 1.1110 Bước 5: Kết quả 24 x 1.1110 + + + Đại học Y Dược Tp. HCM – Bộ môn Tin học Tháng 10/2008 Chương 7– EndNote 12 4.3.3.4 Nhân hai số thực Ví dụ: Nhân hai số thực dưới dạng dấu chấm động sau: m = 2100 x 1.1001 n = 2110 x 1.0010 Bước 1: Nhân phần định trị của hai số lại với nhau 1.1001 1.0010 1.11000010 Æ Phần định trị: Fracmxn = 1.11000010 Æ Phần số mũ: Emxn = 2100+110-Emax = 283 Bước 2: Làm tròn kết quả của bước1: Phần định trị là 1.1100 Bước 3: Kết quả là 283 x 1.1100 x x 4.3.3.5 Chia hai số thực Ví dụ: Chia hai số thực dưới dạng dấu chấm động sau: m = 2110 x 1.0000 n = 2100 x 0.0011 Bước 1: Đếm số bit 0 đứng trước dãy zm = 0 zn = 3 Bước 2: ÷ - Dịch chuyển phần định trị 2 dãy bit m,n sang trái (shift – left) zm, zn lần. Fracm = 10000 00000 Fracn = 00000 11000 - Tính số mũ: Em+n = 2110-100+Emax-zm+zn = 2140 Bước 3: Chia phần định trị của m,n 100000,0000 000001,1000 1,0101 Bước 4: Kết quả là 1,0101 x 2140 ÷ Đại học Y Dược Tp. HCM – Bộ môn Tin học Tháng 10/2008 Chương 7– EndNote 13 4.4. Các phép toán số học (arithmatic)/luận lý (logic) 4.4.1. Các phép toán luận lý Tập các lệnh số học/luận lý bao gồm các phép toán số học, luận lý hoặc phép toán dịch bit (shift), quay (rotate). Trên thực tế, máy tính thao tác trên các chuỗi ký tự. 4.4.1.1 AND Thực hiện phép toán AND trên từng bit từ phải qua trái. AND 0 1 0 0 0 1 0 1 Một trong những tác dụng chính của phép toán AND là để kiểm tra bit 1 hay 0. Ta nhận thấy đặc điểm của phép toán AND là thành phần 0 trong một dãy bit không bị ảnh hưởng bởi các thành phần khác. Ví dụ: 0 0 0 0 1 1 1 1 0 0 0 0 1 0 0 1 AND 0 0 0 0 1 0 1 0 Ta thấy dãy bit 0 của toán hạng thứ 1 không thay đổi và dãy 4 bit phải nhất của toán hạng thứ 2 không thay đổi. Cách sử dụng phép toán AND trong ví dụ trên gọi là cách sử dụng mặt nạ (masking). Toán hạng đầu được gọi là mặt nạ, nó được sử dụng để xác định phần của toán hạng còn lại sẽ ảnh hưởng đến kết quả. Trong trường hợp này, mặt nạ được sử dụng để cho ra kết quả là mỗi phần 4 bit của toán hãng trong đó các số 0 với 4 bit đầu của toán hạng thứ nhất và 4 bit sau của toán hạng thứ 2. Ngoài ra, phép toán AND còn được dùng để chép lại một phần của dãy bit, và thêm vào 0 ở phần không chép lại. 4.4.1.2 OR OR 0 1 0 0 1 1 1 1 Tương tự như phép toán AND, phép toán OR được dùng để chép lại một phần của dãy bit, và thêm vào 1 ở phần không chép lại. Phép toán OR cũng sử dụng mặt nạ để xác định vị trí bit được chép lại 0 và sử dụng bit 1 để chỉ các vị trí không được chép lại. Ví dụ: thực hiện phép toán OR với dãy bit 11110000 sao cho có được kết quả với các số 1 ở 4 bit cao và các bit còn lại là 4 bit thấp của toán hạng kia. 1 1 1 1 0 0 0 0 1 0 1 0 1 0 1 0 OR 0 0 0 0 1 0 1 0 4.4.1.3 XOR XOR 0 1 0 0 1 1 1 0 Sử dụng phép toán này để lấy phần bù của một chuỗi bit. Đại học Y Dược Tp. HCM – Bộ môn Tin học Tháng 10/2008 Chương 7– EndNote 14 Ví dụ: 1 1 1 1 1 1 1 1 XOR 1 0 1 0 1 0 1 0 0 1 0 1 0 1 0 1 4.4.1.4 Dịch bit (shift) và quay (rotation) Các phép toán dịch bit và quay để giải quyết các bài toán thực hiện trên bit. Ví dụ biến đổi một byte theo một yêu cầu nào đó bằng cách sử dụng mặt nạ, hoặc thao tác trên phần định trị của các số biểu diễn ở dạng dấu chấm động. Phép toán dịch bit và quay theo hai hướng trái hoặc phải. 1. Dịch bit Nếu một byte 8 bit khi thực hiện phép toán dịch bit sang trái hay phải thì bit đầu tiên của byte (bit cao nhất nếu dịch phải, bit thấp nhất nếu dịch trái) sẽ bị dịch chuyển, và bit cuối (bit thấp nhất nếu dịch phải, bit cao nhất nếu dịch trái) sẽ được đặt là 0. Ví dụ: dãy bit giá trị của một byte là 10001110, khi dịch trái một lần sẽ là 00011100, và khi dịch phải một lần thì kết quả là 01000111. Phép toán dịch bit được sử dụng cho các phép nhân hay chia cho 2, dịch trái là nhân cho 2, dịch phải là chia cho 2. 2. Quay Đối với phép toán quay, cũng giống như dịch bit nhưng bit cuối sẽ được chuyển vào bit đầu tiên. Ví dụ: dãy bit giá trị là 10001110, khi quay trái một lần thì kết quả là 00011101, và khi quay phải một lần thì kết quả là 01000111. 4.4.2. Các phép toán số học Các phép toán số học (cộng, trừ, nhân, chia) được thực hiện dựa trên các phép toán cơ bản là phép cộng và tạo ra số âm. Ví dụ, trường hợp cộng giá trị biểu diễn của số bù 2 thì đó là phép cộng nhị phân. Phép cộng các số biểu diễn bằng dấu chấm động thì phép cộng thực hiện ở phần định trị, sau đó dịch trái hay phải phần mũ và kiểm tra bit dấu để cuối cùng tạo ra kết quả ở dạng dấu chấm động. Đại học Y Dược Tp. HCM – Bộ môn Tin học Tháng 10/2008 Chương 7– EndNote 15 5. Bảng mã ASCII Là chuẩn mã hóa một byte ký tự sang dạng chuỗi và ngược lại. ASCII kết hợp số 7-bit hoặc 8-bit để biểu diễn chuỗi 128 hoặc 256 ký tự. Chuẩn ASCII sử dụng 7-bit để biểu diễn các ký tự chữ hoa và chữ thường, các số từ 0 đến 9, các dấu câu, và các ký tự điều khiển đặc biệt. Hầu hết các hệ thống máy tính x86 đều hỗ trợ sử dụng bảng mã ASCII mở rộng. Bảng mã ASCII mở rộng cho phép biểu diễn các ký tự đặc biệt như biểu tượng, các ký tự 32-bit của ngôn ngữ khác, các ký hiệu đồ họa. 6. Bài tập 1. Cho biết biểu diễn nhị phân của các số ở hệ thập lục phân sau: a. BC b. 67 c. 10 e. 3F 2. Cho biết bit cực trái trong biểu diễn nhị phân của các số trong hệ thập lục phân là gì? a. FF b. 7F c. 8F e. 1F 3. Biểu diễn các dãy bit sau về hệ thập lục phân: a. 101010101010 b. 110010110111 c. 000011101011 4. Cho một màn hình có thể hiển thị được 24 dòng, ứng với mỗi dòng có 80 ký tự. Nếu một điểm trên màn hình được lưu trữ trong bộ nhớ bằng một byte cho mã ASCII của ký tự tại điểm đó, thì có bao nhiêu byte để lưu trữ toàn bộ các điểm trên màn hình? 5. Biến đổi các dãy bit sau về hệ thập lục phân tương ứng: a. 111 b. 0001 c. 11101 d. 10001 e. 10111 f. 00000 g. 100 h. 1000 i. 10000 j. 11001 k. 11010 l. 11011 6. Biến đổi các số ở hệ thập phân sau về hệ nhị phân tương ứng: a. 7 b. 12 c. 16 d. 15 e. 33 7. Biến đổi các số biểu diễn ở hệ thập phân sau về hệ bát phân tương ứng: Đại học Y Dược Tp. HCM – Bộ môn Tin học Tháng 10/2008 Chương 7– EndNote 16 a. 24 b. 243 c. 57 d. 81 e. 94 8. Biến đổi các số biểu diễn ở hệ bát phân sau sang hệ thập phân tương ứng: a. 120 b. 43 c. 55 d. 12 e. 76 9. Biến đổi các số biểu diễn ở hệ cơ số 10 sau sang hệ cơ số 3 tương ứng: a. 31 b. 99 c. 56 d. 98 e. 4 10. Biến đổi các số biểu diễn ở hệ cơ số 3 sau sang hệ cơ số 10 tương ứng: a. 1011 b. 10200 c. 1112 d. 1102 e. 11 11. Biến đổi các số biểu diễn ở hệ cơ số 8 sau sang hệ cơ số 3 tương ứng: a. 120 b. 43 c. 55 e. 12 75 12. Biến đổi các số ở dạng dấu lượng về hệ thập phân tương ứng: a. 100001 b. 10011 c. 01101 d. 01111 e. 10111 13. Biến đổi các số ở hệ thập phân sau về dạng bù 1 với mẩu 4 bit tương ứng: a. 0 b. 3 c. -3 d. -1 e. 1 14. Biến đổi các số ở dạng bù 2 về hệ thập phân tương ứng: a. 1000 b. 10011 c. 01101 d. 01111 e. 10111 15. Biến đổi các số ở hệ thập phân sau về dạng bù 2 với mẩu 7 bit tương ứng: a. 12 b. -12 c. -1 d. 0 e. 8 16. Từ bảng mã ASCII, hãy cho biết biểu diễn ở hệ 8, 10, và 16 của các kí tự sau: a. * b. ! c. % d. @ e. + 17. Dùng phương pháp biểu diễn dấu chấm tĩnh, biểu diễn nhị phân các số thực sau: a. 21 b. – 21 c. 45 d. – 45 e. 68 f. – 68 18. Dùng dấu chấm động, biểu diễn nhị phân các số thực sau: a. 21 b. – 21 c. 45 d. – 45 e. 68 f. – 68 19. Từ kết quả câu 18, thực hiện cộng (dưới dạng dấu chấm động) các phép toán sau: a. a + c b. d + e c. e : c d. a x b e. d – b 20. Đối với phương pháp biểu diễn dấu chấm động, ngoài chuẩn IEEE 754 còn chuẩn nào khác không? Hãy liệt kê nếu có. Các chuẩn IEEE x có phụ thuộc vào thế hệ máy tính không? Hãy cho biết tên chuẩn tương ứng với thế hệ máy tính nếu có. Đại học Y Dược Tp. HCM – Bộ môn Tin học Tháng 10/2008

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

  • pdfchuong1_4826.pdf