Tin học đại cương - Bài 1: Thông tin và biểu diễn thông tin

pdf 33 trang vanle 2820
Bạn đang xem 20 trang mẫu của tài liệu "Tin học đại cương - Bài 1: Thông tin và biểu diễn thông tin", để 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:

  • pdftin_hoc_dai_cuong_bai_1_thong_tin_va_bieu_dien_thong_tin.pdf

Nội dung text: Tin học đại cương - Bài 1: Thông tin và biểu diễn thông tin

  1. TRƯỜNG ĐẠI HỌC B\CH KHOA H[ NỘI Nội dung VIỆN CÔNG NGHỆ THÔNG TIN V[ TRUYỀN THÔNG 1.1. Thông tin v{ Tin học 1.2. Biểu diễn số trong hệ đếm TIN HỌC ĐẠI CƯƠNG 1.3. Biểu diễn dữ liệu trong m|y tính Phần 1. Tin học căn bản Bài 1: Thông tin và biểu diễn thông tin Copyright by SOICT 2 Nội dung Nội dung 1.1. Thông tin v{ Tin học 1.1. Thông tin v{ Tin học 1.1.1. Thông tin v{ xử lý thông tin 1.1.1. Thông tin v{ xử lý thông tin 1.1.2. M|y tính điện tử (MTĐT) v{ ph}n loại 1.1.2. M|y tính điện tử (MTĐT) v{ ph}n loại 1.1.3. Tin học v{ c|c ng{nh liên quan 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.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. Biểu diễn dữ liệu trong m|y tính Copyright by SOICT 3 Copyright by SOICT 4 1
  2. a. Thông tin (Information) b. Dữ liệu (Data) Thông tin l{ kh|i niệm trừu tượng, Dữ liệu là biểu diễn của thông tin giúp chúng ta hiểu v{ nhận thức thế giới được thể hiện bằng c|c tín hiệu vật lý. Dữ liệu l{ vật mang thông tin Ký hiệu qui ước (chữ viết, ) Dự b|o thời tiết Thông tin có thể truyền từ người n{y sang người khác Thông tin l{ kết quả xử lý, điều khiển v{ tổ chức dữ liệu theo c|ch m{ nó sẽ bổ Thời sự Tín hiệu vật lý Số liệu (bảng biểu) sung thêm tri thức cho người nhận (]m thanh, nhiệt độ, |p suất, ) 5 6 Copyright by SOICT Copyright by SOICT c. Xử lý dữ liệu (Data processing) c. Xử lý dữ liệu (2) • Thông tin nằm trong dữ liệu Càn phải xử lý dữ lie ̣u đẻ thu đượ c thông tin càn thiét, hữ u ích phụ c vụ cho con • Khi dữ lie ̣u ít, có thể ngườ i làm thủ công • Khi dữ lie ̣u nhiều lên, các công việc lặp đi lặp lại ??? • Quá trình xử lý dữ lie ̣u Sử dụng máy tính NHẬP XỬ LÝ XUẤT (INPUT) (PROCESSING) (OUTPUT) điện tử để hỗ trợ cho việc lưu trữ, chọn lọc LƯU TRỮ (STORAGE) và xử lý dữ lie ̣u. Copyright by SOICT 7 Copyright by SOICT 8 8 2
  3. Nội dung 1.1.2. Máy tính điện tử 1.1. Thông tin v{ Tin học • Máy tính đie ̣n tử 1.1.1. Thông tin v{ xử lý thông tin (Computer): L{ thiết bị điện tử có khả năng xử lý 1.1.2. M|y tính điện tử (MTĐT) v{ ph}n loại dữ liệu theo chương trình 1.1.3. Tin học v{ c|c ng{nh liên quan định sẵn. 1.2. Biểu diễn số trong hệ đếm • Trong m|y tính mọi thông 1.3. Biểu diễn dữ liệu trong m|y tính tin đều được biểu diễn bằng số nhị ph}n. Copyright by SOICT 9 Copyright by SOICT 10 10 Máy tính điện tử có mặt ở khắp nơi Phân loại MTĐT • Theo khả năng sử dụng chung: – Máy tính lớn (Mainframe) v{ Siêu máy tính (Super Computer) – M|y tính tầm trung (Mini Computer) – Máy vi tính ( Micro Computer) 11 12 Copyright by SOICT Copyright by SOICT 3
  4. i. Máy tính lớn/Siêu máy tính S u • Phứ c tạp, có tó c đo ̣ rát nhanh p • Sử dụng trong c|c công ty lớn/vie ̣n nghiên cứ u e • Giải quyết c|c công việc lớn, phứ c tạp r • Rất đắt (h{ng trăm ng{n ~ h{ng triệu USD). • Nhièu ngườ i dù ng đò ng thờ i (100 – 500) C o m p u t e 13 14 Copyright by SOICT Copyright by SOICT r ii. Máy tính tầm trung (Mini computer) iii. Máy vi tính (Micro computer) • Cũng giống như c|c m|y Mainframe • Sử dụng bộ vi xử lý • Nhỏ, rẻ, hiệu năng cao, • Sự kh|c biệt chính: • Phù hợp cho nhiều đối tượng người dùng, sử dụng nhiều – Hỗ trợ ít người dùng hơn (10 – 100) trong công nghiệp v{ giải trí: – Nhỏ hơn v{ rẻ hơn (v{i chục nghìn USD) – Má y tính cá nhân – Personal Computer (PC) – M|y tính “nhúng” – Embedded Computer – Cá c thiét bị cà m tay như đie ̣n thoạ i di do ̣ ng, má y tính bỏ tú i – Copyright by SOICT 15 Copyright by SOICT 16 4
  5. Máy tính cá nhân (Personal Computer – PC) Máy tính nhúng (Embedded computer) Máy tính để bàn Máy tính bảng • Là máy tính chuyên dụ ng (special-purpose computer) Laptop • Gắn trong c|c thiết bị gia dụng, m|y công nghiệp • Giúp con người dùng sử dụng thiết bị hiệu quả hơn • M|y tính để b{n – Desktop Computer • Máy tính di đo ̣ ng – Portable Computer – Má y tính xá ch tay (Laptop Computer) – M|y tính bỏ túi (PDA - Personal Digital Assistant) • Máy tính bảng – Tablet Computer 17 18 Copyright by SOICT PDA Copyright by SOICT Lịch sử phát triển của máy tính i. Thế hệ đầu (1950 – 1958) • Sự ph|t triển về công nghệ Sự ph|t triển về m|y tính Bóng đèn ch}n không (vacumm tube) Vacuum tubes Transistor Intergrated Circuit • 1930’s: Bóng đèn chân không được sử dụng làm các bảng mạch tín hiệu điều khiển (electric circuits or switches) 19 20 Copyright by SOICT • Điều khiển bằng tay, Copyrightkích thước by SOICT rất lớn 5
  6. ENIAC UNIVAC I (1947), UNIVAC II (1950s) ENIAC - Electronic Numerical Integrator UNIVAC I - and Calculator UNIVersal Automatic Computer • Máy tính đie ̣n tử đầu tiên (1946) với công nghệ bóng chân không: – Decimal (not binary) • Là máy tính thương mại đầu tiên – 18,000 vacuum tubes, 30 tons, 15,000 square feet – 140 kW power consumption • Thực hiện 30000 phép toán / 1 giây 21 22 – 5,000 additions per secondCopyright by SOICT Copyright by SOICT ii. Thế hệ thứ hai (1958 – 1964) Máy tính sử dụng transistor Máy tính thế hệ thứ 2 TRADIC - TRAnsistorized Airborne DIgital Computer • Máy tính đầu tiên sử dụng hoàn toàn bóng bán dẫn: Công nghệ b|n dẫn • 8000 transistors (diodes, transistors) • 1947: Bóng bán dẫn (Transistors) được phát minh tại • Nhanh hơn Bell Laboratories • Nhỏ hơn • Vật liệu Silicon (từ cát) • Rẻ hơn. • Bóng bán dẫn được sử dụng thay bóng đèn chân không 23 24 • Nhỏ hơn, rẻ hơn Copyright by SOICT Copyright by SOICT 6
  7. Máy tính sử dụng transistor iii. Thế hệ thứ ba (1965 – 1974) Công nghệ mạch tích hợp (IC – integrated circuit) IBM 7030 (Mỹ, 1961) MINSK (Liên Xô, 1961) • 1959 – thiết kế ra vi mạch đầu tiên dựa trên công nghệ silicon (silicon chip or microchip) • Trên 1 vi mạch tích hợp hàng triệu transitor 26 Copyright by SOICT 25 Copyright by SOICT Vi mạch – Integrated Circuit IBM 360 System • Máy mainframe • Nhỏ hơn, của IBM (1964) • Rẻ hơn, •Thiết kế trên công nghệ mạch tích hợp • Hiệu quả hơn (IC) •Tốc độ tính toán cao (cỡ MIPS) 27 28 Copyright by SOICT Copyright by SOICT 7
  8. iv. Thế hệ thứ tư (1974 – nay) Vi xử lý (Microprocessor) Vi xử lý (Microprocessor) • Microprocessor = Central Processing Unit (CPU) thiết kế trong 1 vi mạch đơn • 1971 : Intel 4004 29 30 Copyright by SOICT Copyright by SOICT 1975 – Altair 8800 1981 – IBM PC Máy tính cá nhân đầu tiên – Altair 8800 Thế hệ máy tính cá nhân mới với kiến trúc mở IBM 31 32 Copyright by SOICT Copyright by SOICT 8
  9. 1984 – Apple Macintosh 1990 - Personal Computers • Tốc độ vi xử lý tăng nhanh: • CPU 1 lõi, • CPU đa lõi • Kiến trúc ít thay đổi 33 Copyright by SOICT Copyright by SOICT 34 Thế hệ thứ tư (tiếp) Thế hệ thứ tư (tiếp) Pentium L Pocket a p t o p Máy tính đẻ bàn Copyright by SOICT 35 Copyright by SOICT 36 9
  10. Pro Thế hệ thứ tư (tiếp) III Itanium 64-bit Intel IV Microprocessors More Pentium Copyright by SOICT 37 Copyright by SOICT 38 Thế hệ thứ tư (tiếp) v. Thế hệ 5 (1990 - nay) • Artificial Intelligence (AI) • Công nghệ vi điện tử với N tốc độ tính to|n cao v{ xử e lý song song. t • Mô phỏng c|c hoạt động w của n~o bộ v{ h{nh vi con người o • Có trí khôn nh}n tạo với r khả năng tự suy diễn ph|t k triển c|c tình huống nhận được Copyright by SOICT 39 Copyright by SOICT 40 10
  11. Xu hướng ngày nay Nộ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) v{ ph}n loại • Nhanh hơn 1.1.3. Tin học v{ c|c ng{nh liên quan • Nhỏ hơn 1.2. Biểu diễn số trong hệ đếm • Rẻ hơn 1.3. Biểu diễn dữ liệu trong m|y tính • Dễ sử dụng hơn Copyright by SOICT 41 Copyright by SOICT 42 1.1.3. Tin học và các ngành liên quan a. Tin học (Informatics) • Tin học (Computer Science/Informatics) • 1957, Karl Steinbuch người Đức đề xướng • Công nghệ thông tin (Information Technology - IT) trong 1 b{i b|o có thuật ngữ "Informatik " • Công nghệ thông tin v{ truyền thông (Information • 1962, Philippe Dreyfus người Ph|p gọi l{ and Communication Technology – ICT). “informatique " • Phần lớn c|c nước T}y ]u, trừ Anh đều chấp nhận. Ở Anh người ta sử dụng thuật ngữ ‘computer science’, hay ‘computing science’, • 1966, Nga cũng sử dụng tên informatika Copyright by SOICT 43 Copyright by SOICT 44 11
  12. a. Tin học (2) b. Công nghệ thông tin • Tin học được xem l{ ng{nh khoa học nghiên • Information Technology (IT) cứu c|c phương ph|p, công nghệ v{ kỹ thuật xử • Xuất hiện ở Việt nam v{o những năm 90 của lý thông tin một c|ch tự động. thế kỷ 20. • Công cụ chủ yếu sử dụng trong tin học l{ m|y • CNTT xử lý với các máy tính điện tử và các phần tính điện tử v{ một số thiết bị truyền tin kh|c. mềm máy tính nhằm chuyển đổi, lưu trữ, bảo vệ, • Nội dung nghiên cứu của tin học chủ yếu gồm 2 truyền tin và trích rút thông tin một cách an toàn. phần: (Information Technology Association of America) – Kỹ thuật phần cứng (Hardware engineering) – Kỹ thuật phần mềm (Software engineering) Copyright by SOICT 45 Copyright by SOICT 46 b. Công nghệ thông tin (2) c. Công nghệ thông tin và truyền thông (ICT) • Mo ̣ t ngành sử dụ ng he ̣ thó ng các thiét bị và máy • Information and Communication Technology tính, bao gò m phàn cứ ng và phàn mèm đẻ cung – Truyền thông m|y tính l{ sự kết nối một số lượng m|y cáp mo ̣ t giải pháp xử lý thông tin cho các cá nhân, tính với nhau tỏ chứ c có yêu càu • L{ thuật ngữ mới, nhấn mạnh sự không thể t|ch • Có ảnh hưở ng và đượ c ứ ng dụ ng trong nhièu rời hiện nay của CNTT với công nghệ truyền thông ngành nghè khác nhau củ a xã ho ̣ i trong thời đại “tất cả đều nối mạng” • C|c ứng dụng ng{y nay của IT: • Internet - Mạng máy tính toàn cầu – Quản trị dữ liệu – Quản lý hệ thống thông tin – Thiết kế sản phẩm – Ứng dụng khoa học Copyright by SOICT 47 Copyright by SOICT 48 12
  13. Nội dung Nội dung 1.1. Thông tin v{ Tin học 1.1. Thông tin v{ Tin học 1.2. Biểu diễn số trong hệ đếm 1.2. Biểu diễn số trong hệ đếm 1.2.1. Hệ đếm 1.2.1. Hệ đếm 1.2.2. Chuyển đổi cơ số 1.2.2. Chuyển đổi cơ số 1.3. Biểu diễn dữ liệu trong m|y tính 1.3. Biểu diễn dữ liệu trong m|y tính Copyright by SOICT 49 Copyright by SOICT 50 1.2.1. Hệ đếm 1.2.1. Hệ đếm (2) • L{ tập hợp c|c ký hiệu v{ qui tắc để biểu • Về mặt to|n học, ta có thể biểu diễn 1 số diễn v{ x|c định gi| trị c|c số. theo hệ đếm cơ số bất kì. • Mỗi hệ đếm có một số ký tự/số (ký số) hữu • Khi nghiên cứu về m|y tính, ta quan t}m đến hạn. Tổng số ký số của mỗi hệ đếm được gọi c|c hệ đếm sau đ}y: là cơ số (base hay radix), ký hiệu l{ b. – Hệ thập ph}n (Decimal System) → con người sử • Ví dụ: Trong hệ đếm cơ số 10, dùng 10 ký tự dụng l{: c|c chữ số từ 0 đến 9. – Hệ nhị ph}n (Binary System) → m|y tính sử dụng – Hệ đếm b|t ph}n (Octal System) – Hệ mười s|u (Hexadecimal System) →dùng để Copyright by SOICT 51 viết gọn số nhị ph}nCopyright by SOICT 52 13
  14. a. Hệ đếm thập phân (Decimal System) a. Hệ đếm thập phân (2) • Hệ đếm thập ph}n hay hệ đếm cơ số 10 bao • Giả sử một số A được biểu diễn dưới dạng: gồm 10 ký số theo ký hiệu sau: A = an an-1 a1 a0 . a-1 a-2 a-m 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 Gi| trị của A được hiểu như sau: • Dùng n chữ số thập ph}n có thể biểu diễn được 10n gi| trị kh|c nhau: • 00 000 = 0 A a10n a 10 n 1 a 10 1 a 10 0 a 10 1 a 10 m • n n 1 1 0 1 m n n i • 99 999 = 10 -1 Aa  i10 im Copyright by SOICT 53 54 a. Hệ đếm thập phân (3) b. Hệ đếm cơ số b (với b ≥ 2, nguyên) • Ví dụ: Số 5246 có gi| trị được tính như sau: • Có b ký tự để thể hiện gi| trị số. Ký số 5246 = 5 x 103 + 2 x 102 + 4 x 101 + 6 x 100 nhỏ nhất l{ 0 v{ lớn nhất l{ b-1. • Ví dụ: Số 254.68 có gi| trị được tính như • Số A trong hệ đếm cơ số (b) được sau: (b) biểu diễn bởi: 254.68 = 2 x 102 + 5 x 101 + 4 x 100 + 6 x 10-1 + 8 x -2 10 A(b)=anan-1an-2 a1a0.a-1a-2 a-m • Gi| trị của A (trong hệ 10) là: 풏 풏− = 풏 + 풏− + + + − − 풏 풊 − + + − = − 풊 Copyright by SOICT 55 Copyright by SOICT 56 14
  15. c. Hệ đếm nhị phân (Binary System) c. Hệ đếm nhị phân (3) • Sử dụng 2 chữ số: 0,1 (b=2) • Giả sử có số A được biểu diễn theo hệ • Chữ số nhị ph}n gọi l{ bit (binary digit) nhị ph}n như sau: Ví dụ: Bit 0, bit 1 A = an an-1 a1 a0 . a-1 a-2 a-m • Bit l{ đơn vị thông tin nhỏ nhất • Với ai l{ c|c chữ số nhị ph}n, khi đó gi| trị của A l{: n n 1 1 0 1 2 m A an2 a n 1 2 a 1 2 a 0 2 a 1 2 a 2 2 a m 2 n i Aa  i 2 im Copyright by SOICT 57 58 c. Hệ đếm nhị phân (4) c. Hệ đếm nhị phân (4) • Ví dụ 1: Số 11101.11(2) sẽ tương đương với • Ví dụ 2: gi| trị thập ph}n l{ : Số nhị phân 1101001.1011 có giá trị: 6 5 3 0 -1 1101001.1011(2) = 2 + 2 + 2 + 2 + 2 + 2-3 + 2-4 = 64 + 32 + 8 + 1 + 0.5 + 0.125 + 0.0625 = 105.6875(10) Copyright by SOICT 59 Copyright by SOICT 60 15
  16. d. Hệ đếm bát phân (2) d. Hệ đếm bát phân (3) • Ví dụ: • Sử dụng c|c chữ số: 0,1,2,3,4,5,6,7 • Giả sử có số A được biểu diễn theo hệ nhị 235 . 64 (8) có gi| trị như sau: 2 1 0 -1 ph}n như sau: 235 . 64 (8) = 2x8 + 3x8 + 5x8 + 6x8 A = an an-1 a1 a0 . a-1 a-2 a-m + 4x8-2 • Với ai l{ c|c chữ số trong hệ b|t ph}n, khi đó = 157. 8125 gi| trị của A l{: (10) n n 1 1 0 1 2 m A an8 a n 1 8 a 1 8 a 0 8 a 1 8 a 2 8 a m 8 n i Aa  i 8 im 61 Copyright by SOICT 62 e. Hệ đếm 16, Hexadecimal, b=16 e. Hệ đếm 16 (2) • Sử dụng 16 ký số: • Giả sử có số A được biểu diễn theo hệ thập 0,1,2,3,4,5,6,7,8,9,A, lục ph}n như sau: B,C,D,E,F A = an an-1 a1 a0 . a-1 a-2 a-m • C|c chữ in: Với ai l{ c|c chữ số trong hệ thập lục ph}n, A, B, C, D, E, F khi đó gi| trị của A l{: biểu diễn c|c gi| trị số tương ứng (trong A a16n a 16 n 1 a 16 1 a 16 0 a 16 1 a 16 2 a 16 m hệ 10) là 10, 11, 12, n n 1 1 0 1 2 m n 13, 14, 15 i Aa  i16 im 63 64 16
  17. e. Hệ đếm 16 (3) Nội dung • Ví dụ: 34F5C.12D(16) có gi| trị như sau: 1.1. Thông tin v{ Tin học 1.2. Biểu diễn số trong hệ đếm 34F5C.12D(16) 1.2.1. Hệ đếm = 3x164 + 4x163 + 15x162 + 5x161 1.2.2. Chuyển đổi cơ số + 12x160 +? 1.3. Biểu diễn dữ liệu trong m|y tính = 216294(10) + ? Copyright by SOICT 65 Copyright by SOICT 66 1.2.2. Chuyển đổi cơ số a. Chuyển đổi phần nguyên • Trường hợp tổng qu|t, một số N trong hệ • Bước 1:Lấy phần nguyên của N(10) chia cho b, ta được thương l{ T1 số dư d1. thập ph}n (N(10)) gồm phần nguyên v{ phần • thập ph}n. Bước 2: Nếu T1 khác 0, Lấy T1 chia tiếp cho b, ta được thương số l{ T2 , số dư là d2 • Chuyển 1 số từ hệ thập ph}n sang 1 số ở hệ (Cứ làm như vậy cho tới bước thứ n, khi ta được Tn =0) cơ số b bất kỳ gồm 2 bước: • Bước n: Nếu Tn-1 khác 0, lấy Tn-1 chia cho b, ta được – Đổi phần nguyên (của số đó) từ hệ thập phân thương số l{ Tn =0, số dư là dn sang hệ b • Kết quả ta được số N(b) l{ số tạo bởi c|c số dư (được – Đổi phần thập phân (của số đó) từ hệ thập phân viết theo thứ tự ngược lại) trong c|c bước trên sang hệ cơ số b Phần nguyên của N(10) = dndn-1 d1 (b) Copyright by SOICT 67 Copyright by SOICT 68 17
  18. a. Chuyển đổi phần nguyên (2) b. Chuyển đổi phần thập phân • Ví dụ: C|ch chuyển phần nguyên của số • Bước1: Lấy phần thập phân của N(10) nhân với b, ta được một số có dạng x1.y1 (x là phần 12.6875(10) sang số trong hệ nhị ph}n: nguyên, y là phần thập phân) – Dùng phép chia cho 2 liên tiếp, ta có một loạt • Bước 2: Nếu y khác 0, tiếp tục lấy 0.y nhân c|c số dư như sau 1 1 với b, ta được một số có dạng x2.y2 (cứ làm như vậy cho đến khi yn=0) • Bước n: Nếu yn-1 khác 0, nhân 0.yn-1 với b, ta được xn.0 • Kết quả ta được số sau khi chuyển đổi l{: Phần thập phân của N(10) = 0.x1x2 xn (b) Copyright by SOICT 69 Copyright by SOICT 70 b. Chuyển đổi phần thập phân (2) Ví dụ: Chuyển từ thập phân sang nhị phân • Ví dụ: C|ch chuyển phần thập ph}n của số 12.6875(10) sang hệ nhị ph}n: • 12.6875(10) = 1100.1011 (2) • 69.25(10) = ?(2) Copyright by SOICT 71 Copyright by SOICT 72 18
  19. Cách 2: Tính nhẩm Một số ví dụ • • Phân tích số đó thành tổng các lũy thừa của Nhị ph}n Hexa: 11 1011 1110 0110(2) = ? 2, sau đó dựa vào các số mũ để xác định – 11 1011 1110 0110(2) = 3BE6(16) dạng biểu diễn nhị phân • Hexa Nhị ph}n: AB7(16) = ? Nhanh hơn. – AB7(16) = 1010 1011 0111(2) • • Ví dụ: 69.25(10) = 64 + 4 + 1+ ¼ Hexa Thập ph}n: 3A8C ? 6 2 0 -2 3 2 1 = 2 + 2 + 2 + 2 3A8C (16) = 3 x 16 + 10 x 16 + 8 x 16 +12 x 160 = 1000101.01(2) = 12288 + 2560 + 128 + 12 = 14988(10) Copyright by SOICT 73 Copyright by SOICT 74 Một số ví dụ (tiếp) Bài tập • Thập ph}n Hexa: 14988 ? • Chuyển sang hệ nhị ph}n 14988 : 16 = 936 dư 12 tức l{ C – 124.75 936 : 16 = 58 dư 8 – 65.125 58 : 16 = 3 dư 10 tức l{ A 3 : 16 = 0 dư 3 Như vậy, ta có: 14988(10) = 3A8C(16) Copyright by SOICT 75 Copyright by SOICT 76 19
  20. Nội dung Nội dung 1.1. Thông tin v{ Tin học 1.1. Thông tin v{ Tin học 1.2. Biểu diễn số trong hệ đếm 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. Biểu diễn dữ liệu trong m|y tính 1.3.1. Nguyên lý chung 1.3.1. Nguyên lý chung 1.3.2. Biểu diễn số nguyên 1.3.2. Biểu diễn số nguyên 1.3.3. Biểu diễn số thực 1.3.3. Biểu diễn số thực 1.3.4. Biểu diễn ký tự 1.3.4. Biểu diễn ký tự Copyright by SOICT 77 Copyright by SOICT 78 1.3.1. Nguyên lý chung a. Nguyên tắc mã hóa dữ liệu • Mọi dữ liệu khi đưa vào máy tính đều phải • Mã hóa dữ liệu nhân tạo: được mã hóa thành số nhị phân – Dữ liệu số: Mã hóa theo các chuẩn quy ước • Các loại dữ liệu: – Dữ liệu ký tự: Mã hóa theo bộ mã ký tự – Dữ liệu nhân tạo: Do con người quy ước • Mã hóa dữ liệu tự nhiên: – Dữ liệu tự nhiên: – Các dữ liệu cần phải số hóa trước khi đưa vào • Tồn tại khách quan với con người. máy tính • Phổ biến là các tín hiệu vật lý như âm thanh, hình – Theo sơ đồ mã hóa và tái tạo tín hiệu vật lý ảnh, Copyright by SOICT 79 Copyright by SOICT 80 20
  21. Sơ đồ mã hóa và tái tạo tín hiệu vật lý b. Các dạng dữ liệu trong máy tính • Dạng cơ bản – Số nguyên: Mã nhị phân thông thường (không dấu) và mã bù hai (có dấu) – Số thực: Số dấu chấm động – Ký tự: Bộ mã ký tự • Dạng có cấu trúc – Là tập hợp các loại dữ liệu cơ bản được cấu thành theo một cách nào đó. – Ví dụ: Kiểu dữ liệu mảng, xâu ký tự, tập hợp, bản ghi, • Ví dụ: MODEM: MOdulator and DEModulator (Điều chếCopyright và Giải by SOICT điều chế) 81 Copyright by SOICT 82 c. Đơn vị thông tin Nội dung • Đơn vị nhỏ nhất để biểu diễn thông tin l{ 1.1. Thông tin v{ Tin học BIT (Binary DigIT) 1.2. Biểu diễn số trong hệ đếm • C|c đơn vị biểu diễn lớn hơn 1.3. Biểu diễn dữ liệu trong m|y tính Tên gọi Ký hiệu Giá trị 1.3.1. Nguyên lý chung Byte B 8 bit KiloByte KB 210 B = 1024 Byte 1.3.2. Biểu diễn số nguyên MegaByte MB 220 B = 1024 KB 1.3.3. Biểu diễn số thực GigaByte GB 230 B = 1024 MB 1.3.4. Biểu diễn ký tự TeraByte TB 240 B = 1024 GB Petabyte PB 250 B = 1024 TB Exabyte EB 260 B = 1024 PB Copyright by SOICT 83 Copyright by SOICT 84 21
  22. 1.3.2. Biểu diễn số nguyên a. Số nguyên không dấu • Dùng 1 chuỗi bit để biểu diễn. • Dạng tổng qu|t: giả sử dùng n bit để biểu diễn cho một số nguyên không dấu A: • 2 trường hợp: a a a a a a – Số nguyên không dấu n-1 n-2 3 2 1 0 • Gi| trị của A được tính như sau: – Số nguyên có dấu A a2nn 1 a 2 2 a 2 1 a 2 0 nn 1 2 1 0 n 1 i Aa  i 2 i 0 • Dải biểu diễn của A: [0, 2n-1] Copyright by SOICT 85 86 Ví dụ 1 Ví dụ 2 • Biểu diễn c|c số nguyên không dấu sau đ}y • Cho c|c số nguyên không dấu X, Y được biểu bằng 8 bit: diễn bằng 8 bit như sau: A = 45 B = 156 X = 0010 1011 Giải: Y = 1001 0110 A = 45 = 32 + 8 + 4 + 1 = 25 + 23 + 22 + 20 Giải: 5 3 1 0 A = 0010 1101(2) X = 0010 1011 = 2 + 2 + 2 + 2 = 32 + 8 + 2 + 1 = 43 B = 156 = 128 + 16 + 8 + 4 = 27 + 24 + 23 + 22 7 4 2 1 B = 1001 1100 (2) Y = 1001 0110 = 2 + 2 + 2 + 2 = 128 + 16 + 4 + 2 = 150 Copyright by SOICT 87 Copyright by SOICT 88 22
  23. Trường hợp cụ thể: với n = 8 bit Với n = 16 bit, 32 bit, 64 bit • n = 16 bit: • Dải biểu diễn l{ [0, 255] . Trục số học m|y tính: – Dải biểu diễn l{ [0, 65535] 0000 0000 = 0 255 0 1 254 2 • n = 32 bit: 0000 0001 = 1 3 – Dải biểu diễn l{ [0, 232-1] 0000 0010 = 2 • n = 64 bit: 0000 0011 = 3 – 64 Dải biểu diễn l{ [0, 2 -1] 1111 1111 = 255 • Trục số học: 0 1 2 255 Copyright by SOICT 89 Copyright by SOICT 90 b. Biểu diễn số nguyên có dấu i. Số bù một và số bù hai (hệ nhị phân) • Số nguyên có dấu gồm: số }m, số • Giả sử có 1 số nguyên nhị ph}n được biểu dương diễn bởi n bit. Ta có: n • Sử dụng bit đầu tiên l{m bit dấu: – Số bù một của A = (2 - 1) – A – Số bù hai của A = 2n – A – 0 cho số dương – NX: Số bù hai = Số bù một + 1 – 1 cho số }m • Ví dụ • Biểu diễn số }m bằng số bù 2 – Xét n = 4 bit, A = 0110 – Số bù một của A = (24 - 1) - 0110 = 1001 – Số bù hai của A = 24 - 0110 = 1010 Copyright by SOICT 91 Copyright by SOICT 92 23
  24. Nhận xét ii. Biểu diễn số nguyên có dấu • Ví dụ (trước) • Biểu diễn số }m bằng số bù 2 – Xét n = 4 bit, A = 0110 • Ví dụ: Biểu diễn số nguyên có dấu sau đ}y (bằng 8 – Số bù một của A = (24 - 1) - 0110 = 1001 bit): A = - 70(10) – Số bù hai của A = 24 - 0110 = 1010 Biểu diễn 70 = 0100 0110 Có thể tìm số bù một của A bằng c|ch đảo Bù 1: 1011 1001 (nghịch đảo c|c bit) ngược tất cả c|c bit + 1 Số bù hai = Số bù một + 1 Bù 2: 1011 1010 A + Số bù hai của A = 0 nếu bỏ qua bit nhớ Vậy: A = 1011 1010(2) ra khỏi bit cao nhất Copyright by SOICT 93 Copyright by SOICT 94 ii. Biểu diễn số nguyên có dấu (tiếp) Ví dụ • Dạng tổng qu|t của số nguyên có dấu A: • X|c định gi| trị của c|c số nguyên có dấu 8 bit sau đ}y: A = an-1an-2 a2a1a0 • Gi| trị của A được x|c định như sau: A = 0101 0110 n 2 B = 1101 0010 ni 1 A ani 1 22  a Giải: i 0 A = 26 + 24 + 22 + 21 = 64 + 16 + 4 + 2 = +86 • Dải biểu diễn: [-2n-1, 2n-1-1] B = -27 + 26 + 24 + 21 = 10000 000 = -128 + 64 + 16 + 2 = -46 . 01111 111 • Nhận xét: Với số dương, số }m? 95 Copyright by SOICT 96 24
  25. Trường hợp cụ thể: với n = 8 bit c. Tính toán số học với số nguyên • Phép cộng/trừ số nguyên (không dấu/có • Dải biểu diễn l{ [-128, 127] • Trục số học m|y tính 0000 0000 = 0 dấu) 0000 0001 = +1 • Ph}n nh}n, phép chia số nguyên 0000 0010 = +2 01111111 = +127 10000000 = -128 10000001 = -127 1111 1110 = -2 1111 1111 = -1 Copyright by SOICT 97 Copyright by SOICT 98 Tính toán trong hệ nhị phân c. Tính toán số học với số nguyên (2) • Phép cộng: 110 • Cộng/ trừ số nguyên không dấu: 1+0=0+1=1; + 111 – Tiến h{nh cộng/trừ lần lượt từng bít từ phải 0+0=0; qua trái. 1101 – Khi cộng/trừ hai số nguyên không dấu n bit ta 1+1=10; thu được một số nguyên không dấu n bit. • Phép trừ: • Nếu tổng của hai số đó lớn hơn 2n-1 thì khi đó sẽ tr{n 0-1=1; (vay 1) 1101 số v{ kết quả sẽ l{ sai. • Trừ số không dấu thì ta chỉ trừ được số lớn cho số 1-1=0; - 111 nhỏ. Trường hợp ngược lại sẽ sai 0-0=0; 1-0=1 110 Copyright by SOICT 99 Copyright by SOICT 100 25
  26. Ví dụ: Cộng trừ số nguyên không dấu c. Tính toán số học với số nguyên (3) • Dùng 8 bit để biểu diễn số nguyên không • Cộng số nguyên có dấu dấu • Trường hợp không xảy ra tr{n số (carry- • Cộng lần lượt c|c cặp bit từ phải qua tr|i, out): bỏ qua bit nhớ (nếu có). X = 1001 0110 = 150 • Cộng hai số kh|c dấu: kết quả luôn đúng Y = 0001 0011 = 19 S = 1010 1001 = 169 • Cộng hai số cùng dấu: Cout = 0 • Nếu tổng nhận được cùng dấu với 2 số hạng • Trường hợp có xảy ra tr{n số (carry-out): thì kết quả l{ đúng X = 1100 0101 = 197 • Nếu tổng nhận được kh|c dấu với 2 số hạng Y = 0100 0110 = 70 thì đ~ xảy ra hiện tượng tràn số học S = 0000 1011 267 (overflow) v{ kết quả nhận được l{ sai Cout = 1 carry-out – (KQ sai = 23 + 21 + Copyright20 = 11 by SOICT) 101 Copyright by SOICT 102 Ví dụ: Cộng/trừ số nguyên có dấu Ví dụ: Cộng/trừ số nguyên có dấu • VD: không tr{n số • Có xảy ra tr{n số: Copyright by SOICT 103 Copyright by SOICT 104 26
  27. c. Tính toán số học với số nguyên (4) c. Tính toán số học với số nguyên (4) • Trừ số nguyên có dấu • Nh}n/chia số nguyên không dấu – Để trừ hai số nguyên có dấu X v{ Y, cần lấy bù – C|c bước thực hiện như trong hệ 10 hai của Y tức –Y, sau đó cộng X với –Y tức l{: X – – VD: Phép nhân Y = X + (-Y). 1011 (11 cơ số 10) – Cộng lần lượt c|c cặp bit từ phải qua tr|i, bỏ qua x bit nhớ (nếu có). 1101 (13 cơ số 10) – Ví dụ: 1011 0000 Nhận 1011 xét 1011 10001111 (143 cơ số 10) Copyright by SOICT 105 Copyright by SOICT 106 c. Tính toán số học với số nguyên (5) c. Tính toán số học với số nguyên (6) • Phép chia số nguyên không dấu • Nhân/chia số nguyên có dấu: – Bước 1: Chuyển đổi th{nh số dương tương ứng – Bước 2: Thực hiện nh}n/chia với số nguyên – Bước 3: Hiệu chỉnh dấu của kết quả. Copyright by SOICT 107 Copyright by SOICT 108 27
  28. Nội dung a. Nguyên tắc chung 1.1. Thông tin v{ Tin học • Để biểu diễn số thực, trong m|y tính người 1.2. Biểu diễn số trong hệ đếm ta thường dùng ký ph|p dấu chấm động 1.3. Biểu diễn dữ liệu trong m|y tính (Floating Point Number) • 0 1.3.1. Nguyên lý chung Ví dụ: 12.3 = 12.3 * 10 1 1.3.2. Biểu diễn số nguyên = 1.23 * 10 -1 1.3.3. Biểu diễn số thực = 123 * 10 1.3.4. Biểu diễn ký tự Copyright by SOICT 109 Copyright by SOICT 110 a. Nguyên tắc chung (2) Ví dụ - Biểu diễn số thực • Một số thực X được biểu diễn theo kiểu số • Với cơ số R = 10, giả sử 2 số thực N1 và N2 dấu chấm động như sau: được lưu trữ theo phần định trị v{ số mũ X = M * RE như sau: – M1 = -15 và E1 = +12 Trong đó: – M2 = +314 và E2 = -9 – M l{ phần định trị (Mantissa) – Có nghĩa l{ – R l{ cơ số (Radix) thường l{ 2 hoặc 10. N1 = M1 x 10 E1 = -15x1012 – E l{ phần mũ (Exponent) = -15 000 000 000 000 • Với R cố định thì để lưu trữ X ta chỉ cần lưu và trữ M v{ E (dưới dạng số nguyên) N2 = M2 x 10 E2 = 314 x 10-9 = 0.000 000 314 Copyright by SOICT 111 Copyright by SOICT 112 28
  29. b. Phép toán với số thực c. Phép toán với số thực (2) • Khi thực hiện phép to|n với số dấu chấm • Giả sử có 2 số dấu phẩy động sau: động sẽ được tiến h{nh trên cơ sở c|c gi| trị – N1 = M1 x RE1 và N2 = M2 x RE2 của phần định trị v{ phần mũ. • 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 Copyright by SOICT 113 Copyright by SOICT 114 c. Chuẩn IEEE 754/85 c. Chuẩn IEEE 754/85 (2) • L{ chuẩn m~ hóa số dấu chấm động Khuôn dạng m~ hóa: • Cơ số R = 2 31 30 23 22 0 • Có c|c dạng cơ bản: S e m – Dạng có độ chính x|c đơn, 32-bit – Dạng có độ chính x|c kép, 64-bit 63 62 52 51 0 – Dạng có độ chính x|c kép mở rộng, 80-bit S e m 79 78 64 63 0 S e m 115 Copyright by SOICT 116 29
  30. c. Chuẩn IEEE 754/85 (3) c. Chuẩn IEEE 754/85 (4) • S l{ bit dấu, S=0 đó l{ số dương, S=1 đó l{ số • m l{ c|c bit phần lẻ của phần định trị M, âm. phần định trị được ngầm định như sau: M = • e l{ m~ lệch (excess) của phần mũ E, tức l{: 1.m E = e – b • Công thức x|c định gi| trị của số thực tương Trong đó b l{ độ lệch (bias): ứng l{: – Dạng 32-bit : b = 127, hay E = e - 127 X = (-1)S x 1.m x 2e-b – Dạng 64-bit : b = 1023, hay E = e - 1023 – Dạng 80-bit : b = 16383, hay E = e - 16383 S e m Copyright by SOICT 117 118 Ví dụ 1 Ví dụ 2 • Ví dụ 1: Có một số thực X có dạng biểu diễn nhị • X|c định gi| trị thập ph}n của số thực X có dạng ph}n theo chuẩn IEEE 754 dạng 32 bit như sau: biểu diễn theo chuẩn IEEE 754 dạng 32 bit như 1100 0001 0101 0110 0000 0000 0000 0000 sau: X|c định gi| trị thập ph}n của số thực đó. 0011 1111 1000 0000 0000 0000 0000 0000 • Giải: • Giải: – S = 1 X l{ số }m – S = 0 X l{ số dương – e = 1000 0010 = 130 – e = 0111 1111= 127 – m = 10101100 00 – m = 000000 00 – Vậy X = (-1)1 x 1.10101100 00 x 2130-127 – Vậy X = (-1)0 x 1.0000 00 x 2127-127 = -1.101011 x 23 = -1101.011 = -13.375 = 1.0 x 20 = 1 Copyright by SOICT 119 Copyright by SOICT 120 30
  31. Ví dụ 3 Các quy ước đặc biệt • Biểu diễn số thực X = 9.6875 về dạng số dấu chấm • Nếu tất cả c|c bit của e đều bằng 0, các bit động theo chuẩn IEEE 754 dạng 32 bit của m đều bằng 0, thì X = 0 • Giải: • Nếu tất cả c|c bit của e đều bằng 1, các bit 3 X = 9.6875(10) = 1001.1011(2) = 1.0011011 x 2 của m đều bằng 0, thì X = Ta có: • Nếu tất cả c|c bit của e đều bằng 1, m có ít – S = 0 vì đ}y l{ số dương nhất một bit bằng 1, thì X không phải l{ số – E = e – 127 nên e = 127 + 3 = 130 (10) (not a number - NaN) = 1000 0010(2) – m = 001101100 00 (23 bit) X = 0100 0001 0001 1011 0000 0000 0000 0000 Copyright by SOICT 121 Copyright by SOICT 122 Trục số biểu diễn Nội dung 1.1. Thông tin v{ Tin học underflow overflow overflow 1.2. Biểu diễn số trong hệ đếm -b -a -0 +0 a b 1.3. Biểu diễn dữ liệu trong m|y tính 1.3.1. Nguyên lý chung • Dạng 32 bit: a = 2-127 ≈ 10-38 b = 2+127 ≈ 10+38 1.3.2. Biểu diễn số nguyên • Dạng 64 bit: a = 2-1023 ≈ 10-308 b = 2+1023 ≈ 10+308 1.3.3. Biểu diễn số thực • Dạng 80 bit: a = 2-16383 ≈ 10-4932 b = 2+16383 ≈ 10+4932 1.3.4. Biểu diễn ký tự X = (-1)S x 1.m x 2e-127 123 Copyright by SOICT 124 31
  32. a. Nguyên tắc chung a. Bộ mã ASCII • C|c ký tự cũng cần được chuyển đổi th{nh • Do ANSI (American National Standard chuỗi bit nhị ph}n gọi l{ mã ký tự. Institute) thiết kế • ASCII l{ bộ m~ được dùng để trao đổi thông • Số bit dùng cho mỗi ký tự theo c|c m~ kh|c tin chuẩn của Mỹ. Lúc đầu chỉ dùng 7 bit nhau là khác nhau. (128 ký tự) sau đó mở rộng cho 8 bit và có VD: Bộ m~ ASCII dùng 8 bit cho 1 ký tự. thể biểu diễn 256 ký tự kh|c nhau trong Bộ mã Unicode dùng 16 bit. 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) Copyright by SOICT 125 Copyright by SOICT 126 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 Copyright by SOICT 127 Copyright by SOICT 128 32
  33. Các ký tự điều khiển b. Ký tự mở rộng • Ký tự điểu khiển định dạng: BackSpace, HT, • 128 ký tự nửa sau (80-FF) VT, LF, CR, • Được định nghĩa bởi: • C|c ký tự điều khiển truyền thông – Nh{ chế tạo m|y tính – Người ph|t triển phần mềm • Ký tự điều khiển ph}n c|ch thông tin • Ví dụ: • C|c ký tự điều khiển kh|c – 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. Copyright by SOICT 129 Copyright by SOICT 130 c. Bộ mã Unicode • Do các nhiều công ty 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 Copyright by SOICT 131 33