Bài giảng Tin học đại cương - Chương 1: Thông tin và biểu diễn thông tin - Đỗ Bá Lâm
Nội dung
1.1. Thông tin và Tin học
1.2. Biểu diễn số trong hệ đếm
1.3. Biểu diễn dữ liệu trong máy tính
2Nội dung
1.1. Thông tin và Tin học
1.1.1. Thông tin và xử lý thông tin
1.1.2. Máy tính điện tử (MTĐT)
1.1.3. Tin học và các ngành liên quan
1.2. Biểu diễn số trong hệ đếm
1.3. Biểu diễn dữ liệu trong máy tính
theo quy tắc sau: 108 109 vi. Tính toán logic với số nhị phân a b a AND b a OR b a XOR b 0 0 0 0 0 0 1 0 1 1 1 0 0 1 1 1 1 1 1 0 • Các phép toán logic với cặp bit nhị phân: 110 vi. Tính toán logic với số nhị phân (2) a NOT a 0 1 1 0 • Các phép toán logic với từng bit nhị phân: 111 vi. Tính toán logic với số nhị phân (3) • Thực hiện các phép toán logic với 2 số nhị phân: – Kết quả là 1 số nhị phân khi thực hiện các phép toán logic với từng cặp bit của 2 số nhị phân đó – Các phép toán này chỉ tác động lên từng cặp bit mà không ảnh hưởng đến bit khác. 112 Ví dụ: Phép toán với 2 số nhị phân • VD: A = 1010 1010 và B = 0000 111 AND OR XOR NOT 1010 1010 01010101 0000 1111 11110000 00001010 10101111 10100101 Nhận xét: + AND: xoá một số bit và giữ nguyên 1 số bit còn lại + OR: Thiết lập 1 số bit và giữ nguyên 1 số bit còn lại + XOR: Đảo 1 số bit và giữ nguyên 1 số bit còn lại + NOT: Đảo tất cả các bit Nội dung 1.1. Thông tin và Tin học 1.2. Biểu diễn số trong hệ đếm 1.3. Biểu diễn dữ liệu trong máy tính 1.3.1. Nguyên lý chung 1.3.2. Biểu diễn số nguyên 1.3.3. Biểu diễn số thực 1.3.4. Biểu diễn ký tự 113 114 a. Nguyên tắc chung • Để biểu diễn số thực, trong máy tính người ta thường dùng ký pháp dấu chấm động (Floating Point Number) • Ví dụ: 12.3 = 12.3 * 100 = 123 * 10-1 = 1.23 * 101 115 a. Nguyên tắc chung (2) • Một số thực X được biểu diễn theo kiểu số dấu chấm động như sau: X = M * RE Trong đó: – M là phần định trị (Mantissa) – R là cơ số (Radix) thường là 2 hoặc 10. – E là phần mũ (Exponent) • Với R cố định thì để lưu trữ X ta chỉ cần lưu trữ M và E (dưới dạng số nguyên) 116 Ví dụ - Biểu diễn số thực • Với cơ số R = 10, giả sử 2 số thực N1 và N2 được lưu trữ theo phần định trị và số mũ như sau: – M1 = -15 và E1 = +12 – M2 = +314 và E2 = -9 – Có nghĩa là N1 = M1 x 10 E1 = -15x1012 = -15 000 000 000 000 và N2 = M2 x 10 E2 = 314 x 10-9 = 0.000 000 314 117 b. Phép toán với số thực • Khi thực hiện phép toán với số dấu chấm động sẽ được tiến hành trên cơ sở các giá trị của phần định trị và phần mũ. 118 c. Phép toán với số thực (2) • Giả sử có 2 số dấu phẩy động sau: – N1 = M1 x RE1 và N2 = M2 x RE2 • Khi đó, việc thực hiện các phép toán số học sẽ được tiến hành: – N1 ± N2 = (M1 x R E1-E2± M2) x RE2 , (giả thiết E1 ≥ E2) – N1 x N2 = (M1x M2) x R E1+E2 – N1 /N2 = (M1 / M2) x R E1-E2 119 c. Chuẩn IEEE 754/85 • Là chuẩn mã hóa số dấu chấm động • Cơ số R = 2 • Có các dạng cơ bản: – Dạng có độ chính xác đơn, 32-bit – Dạng có độ chính xác kép, 64-bit – Dạng có độ chính xác kép mở rộng, 80-bit 120 c. Chuẩn IEEE 754/85 (2) Khuôn dạng mã hóa: S e m S e m S e m 31 30 23 22 0 63 62 52 51 0 79 78 64 63 0 121 c. Chuẩn IEEE 754/85 (3) • S là bit dấu, S=0 đó là số dương, S=1 đó là số âm. • e là mã lệch (excess) của phần mũ E, tức là: E = e – b Trong đó b là độ lệch (bias): – Dạng 32-bit : b = 127, hay E = e - 127 – Dạng 64-bit : b = 1023, hay E = e - 1023 – Dạng 80-bit : b = 16383, hay E = e - 16383 122 c. Chuẩn IEEE 754/85 (4) • m là các bit phần lẻ của phần định trị M, phần định trị được ngầm định như sau: M = 1.m • Công thức xác định giá trị của số thực tương ứng là: X = (-1)S x 1.m x 2e-b S e m 123 Ví dụ 1 • Ví dụ 1: Có một số thực X có dạng biểu diễn nhị phân theo chuẩn IEEE 754 dạng 32 bit như sau: 1100 0001 0101 0110 0000 0000 0000 0000 Xác định giá trị thập phân của số thực đó. • Giải: – S = 1 → X là số âm – e = 1000 0010 = 130 – m = 10101100...00 – Vậy X = (-1)1 x 1.10101100...00 x 2130-127 = -1.101011 x 23 = -1101.011 = -13.375 124 Ví dụ 2 • Xác định giá trị thập phân của số thực X có dạng biểu diễn theo chuẩn IEEE 754 dạng 32 bit như sau: 0011 1111 1000 0000 0000 0000 0000 0000 • Giải: – S = 0 → X là số dương – e = 0111 1111= 127 – m = 000000...00 – Vậy X = (-1)0 x 1.0000...00 x 2127-127 = 1.0 x 20 = 1 125 Ví dụ 3 • Biểu diễn số thực X = 9.6875 về dạng số dấu chấm động theo chuẩn IEEE 754 dạng 32 bit • Giải: X = 9.6875(10) = 1001.1011(2) = 1.0011011 x 2 3 Ta có: – S = 0 vì đây là số dương – E = e – 127 nên e = 127 + 3 = 130(10) = 1000 0010(2) – m = 001101100...00 (23 bit) X = 0100 0001 0001 1011 0000 0000 0000 0000 126 Các quy ước đặc biệt • Nếu tất cả các bit của e đều bằng 0, các bit của m đều bằng 0, thì X = 0 • Nếu tất cả các bit của e đều bằng 1, các bit của m đều bằng 0, thì X = • Nếu tất cả các bit của e đều bằng 1, m có ít nhất một bit bằng 1, thì X không phải là số (not a number - NaN) 127 Trục số biểu diễn • Dạng 32 bit: a = 2-127 ≈ 10-38 b = 2+127 ≈ 10+38 • Dạng 64 bit: a = 2-1023 ≈ 10-308 b = 2+1023 ≈ 10+308 • Dạng 80 bit: a = 2-16383 ≈ 10-4932 b = 2+16383 ≈ 10+4932 -0 +0-a b-b a underflow overflow overflow +− Nội dung 1.1. Thông tin và Tin học 1.2. Biểu diễn số trong hệ đếm 1.3. Biểu diễn dữ liệu trong máy tính 1.3.1. Nguyên lý chung 1.3.2. Biểu diễn số nguyên 1.3.3. Biểu diễn số thực 1.3.4. Biểu diễn ký tự 128 129 a. Nguyên tắc chung • Các ký tự cũng cần được chuyển đổi thành chuỗi bit nhị phân gọi là mã ký tự. • Số bit dùng cho mỗi ký tự theo các mã khác nhau là khác nhau. VD: Bộ mã ASCII dùng 8 bit cho 1 ký tự. Bộ mã Unicode dùng 16 bit. 130 a. Bộ mã ASCII • Do ANSI (American National Standard Institute) thiết kế • ASCII là bộ mã được dùng để trao đổi thông tin chuẩn của Mỹ. Lúc đầu chỉ dùng 7 bit (128 ký tự) sau đó mở rộng cho 8 bit và có thể biểu diễn 256 ký tự khác nhau trong máy tính • Bộ mã 8 bit → mã hóa được cho 28 = 256 kí tự, có mã từ 00(16) FF(16), bao gồm: – 128 kí tự chuẩn có mã từ 00(16) 7F(16) – 128 kí tự mở rộng có mã từ 80(16) FF(16) 131 i. Ký tự chuẩn – Bộ mã ASCII • 95 kí tự hiển thị được: Có mã từ 20(16) ÷ 7E(16) – 26 chữ cái hoa Latin 'A' ÷ 'Z' có mã từ 41(16) ÷ 5A(16) – 26 chữ cái thường Latin 'a' ÷ 'z' có mã từ 61(16) ÷ 7A(16) – 10 chữ số thập phân '0' ÷ '9' có mã từ 30(16) ÷ 39(16) – Các dấu câu: . , ? ! : ; – Các dấu phép toán: + - * / – Một số kí tự thông dụng: #, $, &, @, ... – Dấu cách (mã là 20(16)) • 33 mã điều khiển: mã từ 0016 ÷ 1F16 và 7F16 dùng để mã hóa cho các chức năng điều khiển 132 133 Ký tự điều khiển định dạng BS Backspace - Lùi lại một vị trí: Ký tự điều khiển con trỏ lùi lại một vị trí. HT Horizontal Tab - Tab ngang: Ký tự điều khiển con trỏ dịch tiếp một khoảng đã định trước. LF Line Feed - Xuống một dòng: Ký tự điều khiển con trỏ chuyển xuống dòng dưới. VT Vertical Tab - Tab đứng: Ký tự điều khiển con trỏ chuyển qua một số dòng đã định trước. FF Form Feed - Đẩy sang đầu trang: Ký tự điều khiển con trỏ di chuyển xuống đầu trang tiếp theo. CR Carriage Return - Về đầu dòng: Ký tự điều khiển con trỏ di chuyển về đầu dòng hiện hành. 134 Ký tự điều khiển truyền số liệu SOH Start of Heading - Bắt đầu tiêu đề: Ký tự đánh dấu bắt đầu phần thông tin tiêu đề. STX Start of Text - Bắt đầu văn bản: Ký tự đánh dấu bắt đầu khối dữ liệu văn bản và cũng chính là để kết thúc phần thông tin tiêu đề. ETX End of Text - Kết thúc văn bản: Ký tự đánh dấu kết thúc khối dữ liệu văn bản đã được bắt đầu bằng STX. EOT End of Transmission - Kết thúc truyền: Chỉ ra cho bên thu biết kết thúc truyền. ENQ Enquiry - Hỏi: Tín hiệu yêu cầu đáp ứng từ một máy ở xa. ACK Acknowledge - Báo nhận: Ký tự được phát ra từ phía thu báo cho phía phát biết rằng dữ liệu đã được nhận thành công. NAK Negative Aknowledge - Báo phủ nhận: Ký tự được phát ra từ phía thu báo cho phía phát biết rằng việc nhận dữ liệu không thành công. SYN Synchronous / Idle - Đồng bộ hóa: Được sử dụng bởi hệ thống truyền đồng bộ để đồng bộ hoá quá trình truyền dữ liệu. ETB End of Transmission Block - Kết thúc khối truyền: Chỉ ra kết thúc khối dữ liệu được truyền. 135 Ký tự điều khiển phân cách thông tin FS File Separator - Ký hiệu phân cách tập tin: Đánh dấu ranh giới giữa các tập tin. GS Group Separator - Ký hiệu phân cách nhóm: Đánh dấu ranh giới giữa các nhóm tin (tập hợp các bản ghi). RS Record Separator - Ký hiệu phân cách bản ghi: Đánh dấu ranh giới giữa các bản ghi. US Unit Separator - Ký hiệu phân cách đơn vị: Đánh dấu ranh giới giữa các phần của bản ghi. 136 Các ký tự điều khiển khác NUL Null - Ký tự rỗng: Được sử dụng để điền khoảng trống khi không có dữ liệu. BEL Bell - Chuông: Được sử dụng phát ra tiếng bíp khi cần gọi sự chú ý của con người. SO Shift Out - Dịch ra: Chỉ ra rằng các mã tiếp theo sẽ nằm ngoài tập ký tự chuẩn cho đến khi gặp ký tự SI. SI Shift In - Dịch vào: Chỉ ra rằng các mã tiếp theo sẽ nằm trong tập ký tự chuẩn. DLE Data Link Escape - Thoát liên kết dữ liệu: Ký tự sẽ thay đổi ý nghĩa của một hoặc nhiều ký tự liên tiếp sau đó. DC1 ÷ DC4 Device Control - Điều khiển thiết bị : Các ký tự dùng để điều khiển các thiết bị phụ trợ. CAN Cancel - Hủy bỏ: Chỉ ra rằng một số ký tự nằm trước nó cần phải bỏ qua. EM End of Medium - Kết thúc phương tiện: Chỉ ra ký tự ngay trước nó là ký tự cuối cùng có tác dụng với phương tiện vật lý. SUB Substitute - Thay thế: Được thay thế cho ký tự nào được xác định là bị lỗi. ESC Escape - Thoát: Ký tự được dùng để cung cấp các mã mở rộng bằng cách kết hợp với ký tự sau đó. DEL Delete - Xóa: Dùng để xóa các ký tự không mong muốn. 137 b. Ký tự mở rộng – Bộ mã ASCII • Được định nghĩa bởi: – Nhà chế tạo máy tính – Người phát triển phần mềm • Ví dụ: – Bộ mã ký tự mở rộng của IBM: được dùng trên máy tính IBM-PC. – Bộ mã ký tự mở rộng của Apple: được dùng trên máy tính Macintosh. – Các nhà phát triển phần mềm tiếng Việt cũng đã thay đổi phần này để mã hoá cho các ký tự riêng của chữ Việt, ví dụ như bộ mã TCVN 5712. 138 c. Bộ mã Unicode • Do các hãng máy tính hàng đầu thiết kế • Là bộ mã 16-bit, Vậy số ký tự có thể biểu diễn (mã hoá) là 216 • Được thiết kế cho đa ngôn ngữ, trong đó có tiếng Việt Thảo luận 139
File đính kèm:
- bai_giang_tin_hoc_dai_cuong_chuong_1_thong_tin_va_bieu_dien.pdf