Bài giảng Tin học đại cương (Phần 1: Tin học căn bản) - Bài 1: Thông tin và biểu diễn thông tin
• Tin học được xem là ngành khoa học nghiên cứu các phương pháp, công nghệ và kỹ thuật xử lý thông tin một cách tự động.
• Công cụ chủ yếu sử dụng trong tin học là máy tính điện tử và một số thiết bị truyền tin khác.
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Tin học đại cương (Phần 1: Tin học căn bản) - 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 hãy click vào nút Download ở trên
Tóm tắt nội dung tài liệu: Bài giảng Tin học đại cương (Phần 1: Tin học căn bản) - 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 VIỆN CÔNG NGHỆ THÔNG TIN V[ TRUYỀN THÔNG TIN HỌC ĐẠI CƯƠNG Phần 1. Tin học căn bản Bài 1: Thông tin và biểu diễn thông tin 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 2 Copyright by SOICT 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 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 3 Copyright by SOICT 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 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 4 Copyright by SOICT 2 a. Thông tin (Information) 5 Thông tin l{ kh|i niệm trừu tượng, giúp chúng ta hiểu v{ nhận thức thế giới Dự b|o thời tiết Thời sự 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ổ sung thêm tri thức cho người nhận Copyright by SOICT b. Dữ liệu (Data) 6 Dữ liệu l{ vật mang thông tin Ký hiệu qui ước (chữ viết, ) Tín hiệu vật lý (]m thanh, nhiệt độ, |p suất, ) Số liệu (bảng biểu) Dữ liệu là biểu diễn của thông tin được thể hiện bằng c|c tín hiệu vật lý. Copyright by SOICT c. Xử lý dữ liệu (Data processing) • 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 người • Quá trình xử lý dữ lie ̣u NHẬP (INPUT) XỬ LÝ (PROCESSING) XUẤT (OUTPUT) LƯU TRỮ (STORAGE) Copyright by SOICT 7 • Khi dữ lie ̣u ít, có thể 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 ??? Sử dụng máy tính điện tử để hỗ trợ cho việc lưu trữ, chọn lọc và xử lý dữ lie ̣u. 8 c. Xử lý dữ liệu (2) Copyright by SOICT 8 3 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 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 9 Copyright by SOICT 1.1.2. Máy tính điện tử • Máy tính đie ̣n tử (Computer): L{ thiết bị điện tử có khả năng xử lý dữ liệu theo chương trình định sẵn. 10 • Trong m|y tính mọi thông tin đều được biểu diễn bằng số nhị ph}n. Copyright by SOICT 10 Máy tính điện tử có mặt ở khắp nơi 11 Copyright by SOICT 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) 12 Copyright by SOICT 4 i. Máy tính lớn/Siêu máy tính • Phức tạp, có tóc đo ̣ rát nhanh • Sử dụng trong c|c công ty lớn/vie ̣n nghiên cứu • Giải quyết c|c công việc lớn, phức tạp • 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) 13 Copyright by SOICT S u p e r C o m p u t e r Copyright by SOICT 14 ii. Máy tính tầm trung (Mini computer) • Cũng giống như c|c m|y Mainframe • Sự kh|c biệt chính: – Hỗ trợ ít người dùng hơn (10 – 100) – Nhỏ hơn v{ rẻ hơn (v{i chục nghìn USD) 15 Copyright by SOICT iii. Máy vi tính (Micro computer) • Sử dụng bộ vi xử lý • Nhỏ, rẻ, hiệu năng cao, • Phù hợp cho nhiều đối tượng người dùng, sử dụng nhiều trong công nghiệp v{ giải trí: – 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 – ... 16 Copyright by SOICT 5 Máy tính cá nhân (Personal Computer – PC) • 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 Máy tính để bàn Laptop Máy tính bảng PDA Copyright by SOICT 17 Máy tính nhúng (Embedded computer) • Là máy tính chuyên dụng (special-purpose computer) • 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 18 Copyright by SOICT Lịch sử phát triển của máy tính • Sự ph|t triển về công nghệ Sự ph|t triển về m|y tính 19 Vacuum tubes Transistor Intergrated Circuit Copyright by SOICT i. Thế hệ đầu (1950 – 1958) • 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) • Điều khiển bằng tay, kích thước rất lớn 20 Bóng đèn ch}n không (vacumm tube) Copyright by SOICT 6 ENIAC • 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) – 18,000 vacuum tubes, 30 tons, 15,000 square feet – 140 kW power consumption – 5,000 additions per second 21 ENIAC - Electronic Numerical Integrator and Calculator Copyright by SOICT UNIVAC I (1947), UNIVAC II (1950s) • Là máy tính thương mại đầu tiên • Thực hiện 30000 phép toán / 1 giây 22 UNIVAC I - UNIVersal Automatic Computer Copyright by SOICT ii. Thế hệ thứ hai (1958 – 1964) • 1947: Bóng bán dẫn (Transistors) được phát minh tại Bell Laboratories • Vật liệu Silicon (từ cát) • Bóng bán dẫn được sử dụng thay bóng đèn chân không • Nhỏ hơn, rẻ hơn 23 Công nghệ b|n dẫn (diodes, transistors) Copyright by SOICT Máy tính sử dụng transistor 24 • Máy tính đầu tiên sử dụng hoàn toàn bóng bán dẫn: • 8000 transistors • Nhanh hơn • Nhỏ hơn • Rẻ hơn. TRADIC - TRAnsistorized Airborne DIgital Computer Máy tính thế hệ thứ 2 Copyright by SOICT 7 Máy tính sử dụng transistor 25 IBM 7030 (Mỹ, 1961) MINSK (Liên Xô, 1961) Copyright by SOICT iii. Thế hệ thứ ba (1965 – 1974) 26 • 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 Công nghệ mạch tích hợp (IC – integrated circuit) Copyright by SOICT Vi mạch – Integrated Circuit 27 • Nhỏ hơn, • Rẻ hơn, • Hiệu quả hơn Copyright by SOICT IBM 360 System 28 • Máy mainframe của IBM (1964) •Thiết kế trên công nghệ mạch tích hợp (IC) •Tốc độ tính toán cao (cỡ MIPS) Copyright by SOICT 8 iv. Thế hệ thứ tư (1974 – nay) 29 • Microprocessor = Central Processing Unit (CPU) thiết kế trong 1 vi mạch đơn • 1971 : Intel 4004 Vi xử lý (Microprocessor) Copyright by SOICT Vi xử lý (Microprocessor) 30 Copyright by SOICT 1975 – Altair 8800 31 Máy tính cá nhân đầu tiên – Altair 8800 Copyright by SOICT 1981 – IBM PC 32 Thế hệ máy tính cá nhân mới với kiến trúc mở IBM Copyright by SOICT 9 1984 – Apple Macintosh 33 Copyright by SOICT 1990 - Personal Computers 34 • Tốc độ vi xử lý tăng nhanh: • CPU 1 lõi, • CPU đa lõi • Kiến trúc ít thay đổi Copyright by SOICT Thế hệ thứ tư (tiếp) L a p t o p Máy tính đẻ bàn Pocket Copyright by SOICT 35 Pentium Thế hệ thứ tư (tiếp) 36 Copyright by SOICT 10 More Pentium Pro III IV 37 Copyright by SOICT Itanium 64-bit Intel Microprocessors 38 Thế hệ thứ tư (tiếp) 38 Copyright by SOICT Thế hệ thứ tư (tiếp) N e t w o r k Copyright by SOICT 39 v. Thế hệ 5 (1990 - nay) • Artificial Intelligence (AI) • Công nghệ vi điện tử với tốc độ tính to|n cao v{ xử lý song song. • Mô phỏng c|c hoạt động của n~o bộ v{ h{nh vi con người • Có trí khôn nh}n tạo với khả năng tự suy diễn ph|t triển c|c tình huống nhận được Copyright by SOICT 40 11 Xu hướng ngày nay • Nhanh hơn • Nhỏ hơn • Rẻ hơn • Dễ sử dụng hơn 41 Copyright by SOICT 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 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 42 Copyright by SOICT 1.1.3. Tin học và các ngành liên quan • Tin học (Computer Science/Informatics) • Công nghệ thông tin (Information Technology - IT) • Công nghệ thông tin v{ truyền thông (Information and Communication Technology – ICT). Copyright by SOICT 43 • 1957, Karl Steinbuch người Đức đề xướng trong 1 b{i b|o có thuật ngữ "Informatik " • 1962, Philippe Dreyfus người Ph|p gọi l{ “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 44 a. Tin học (Informatics) Copyright by SOICT 12 a. Tin học (2) • Tin học được xem l{ ng{nh khoa học nghiên cứu c|c phương ph|p, công nghệ v{ kỹ thuật xử lý thông tin một c|ch tự động. • Công cụ chủ yếu sử dụng trong tin học l{ m|y tính điện tử v{ một số thiết bị truyền tin kh|c. • Nội dung nghiên cứu của tin học chủ yếu gồm 2 phần: – Kỹ thuật phần cứng (Hardware engineering) – Kỹ thuật phần mềm (Software engineering) 45 Copyright by SOICT • Information Technology (IT) • Xuất hiện ở Việt nam v{o những năm 90 của thế kỷ 20. • CNTT xử lý với các máy tính điện tử và các phần mềm máy tính nhằm chuyển đổi, lưu trữ, bảo vệ, truyền tin và trích rút thông tin một cách an toàn. (Information Technology Association of America) 46 b. Công nghệ thông tin Copyright by SOICT • Mo ̣ t ngành sử dụng he ̣ thóng các thiét bị và máy tính, bao gòm phàn cứng và phàn mèm đẻ cung cáp mo ̣ t giải pháp xử lý thông tin cho các cá nhân, tỏ chức có yêu càu • Có ảnh hưởng và được ứng dụng trong nhièu ngành nghè khác nhau của xã ho ̣ i • C|c ứng dụng ng{y nay của IT: – 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 47 b. Công nghệ thông tin (2) Copyright by SOICT • Information and Communication Technology – Truyền thông m|y tính l{ sự kết nối một số lượng m|y tính với nhau • L{ thuật ngữ mới, nhấn mạnh sự không thể t|ch rời hiện nay của CNTT với công nghệ truyền thông trong thời đại “tất cả đều nối mạng” • Internet - Mạng máy tính toàn cầu 48 c. Công nghệ thông tin và truyền thông (ICT) Copyright by SOICT 13 Nội dung 1.1. Thông tin v{ Tin học 1.2. Biểu diễn số trong hệ đếm 1.2.1. Hệ đếm 1.2.2. Chuyển đổi cơ số 1.3. Biểu diễn dữ liệu trong m|y tính 49 Copyright by SOICT Nội dung 1.1. Thông tin v{ Tin học 1.2. Biểu diễn số trong hệ đếm 1.2.1. Hệ đếm 1.2.2. Chuyển đổi cơ số 1.3. Biểu diễn dữ liệu trong m|y tính 50 Copyright by SOICT 51 • L{ tập hợp c|c ký hiệu v{ qui tắc để biểu diễn v{ x|c định gi| trị c|c số. • Mỗi hệ đếm có một số ký tự/số (ký số) hữu hạn. Tổng số ký số của mỗi hệ đếm được gọi là cơ số (base hay radix), ký hiệu l{ b. • Ví dụ: Trong hệ đếm cơ số 10, dùng 10 ký tự l{: c|c chữ số từ 0 đến 9. 1.2.1. Hệ đếm Copyright by SOICT 52 • Về mặt to|n học, ta có thể biểu diễn 1 số theo hệ đếm cơ số bất kì. • Khi nghiên cứu về m|y tính, ta quan t}m đến c|c hệ đếm sau đ}y: – Hệ thập ph}n (Decimal System) → con người sử dụng – 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 để viết gọn số nhị ph}n 1.2.1. Hệ đếm (2) Copyright by SOICT 14 53 • Hệ đếm thập ph}n hay hệ đếm cơ số 10 bao gồm 10 ký số theo ký hiệu sau: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 • 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 • .... • 99...999 = 10n-1 a. Hệ đếm thập phân (Decimal System) Copyright by SOICT 54 • Giả sử một số A được biểu diễn dưới dạng: A = an an-1 a1 a0 . a-1 a-2 a-m Gi| trị của A được hiểu như sau: 1 1 0 1 1 1 0 110 10 ... 10 10 10 ... 10 10 n n m n n m n i i i m A a a a a a a A a a. Hệ đếm thập phân (2) 55 • Ví dụ: Số 5246 có gi| trị được tính như sau: 5246 = 5 x 103 + 2 x 102 + 4 x 101 + 6 x 100 • Ví dụ: Số 254.68 có gi| trị được tính như sau: 254.68 = 2 x 102 + 5 x 101 + 4 x 100 + 6 x 10-1 + 8 x 10-2 a. Hệ đếm thập phân (3) Copyright by SOICT 56 • Có b ký tự để thể hiện gi| trị số. Ký số nhỏ nhất l{ 0 v{ lớn nhất l{ b-1. • Số A(b) trong hệ đếm cơ số (b) được biểu diễn bởi: A(b)=anan-1an-2a1a0.a-1a-2a-m • Gi| trị của A (trong hệ 10) là: 𝑨 = 𝒂𝒏𝒃 𝒏 + 𝒂𝒏−𝟏𝒃 𝒏−𝟏 + + 𝒂𝟎𝒃 𝟎 + 𝒂−𝟏𝒃 −𝟏 + + 𝒂−𝒎𝒃 −𝒎 = 𝒂𝒊𝒃 𝒊𝒏 −𝒎 b. Hệ đếm cơ số b (với b ≥ 2, nguyên) Copyright by SOICT 15 57 • Sử dụng 2 chữ số: 0,1 (b=2) • Chữ số nhị ph}n gọi l{ bit (binary digit) Ví dụ: Bit 0, bit 1 • Bit l{ đơn vị thông tin nhỏ nhất c. Hệ đếm nhị phân (Binary System) Copyright by SOICT 58 • Giả sử có số A được biểu diễn theo hệ nhị ph}n như sau: A = an an-1 a1 a0 . a-1 a-2 a-m • Với ai l{ c|c chữ số nhị ph}n, khi đó gi| trị của A l{: 1 1 0 1 2 1 1 0 1 22 2 ... 2 2 2 2 ... 2 2 n n m n n m n i i i m A a a a a a a a A a c. Hệ đếm nhị phân (3) 59 • Ví dụ 1: Số 11101.11(2) sẽ tương đương với gi| trị thập ph}n l{ : c. Hệ đếm nhị phân (4) Copyright by SOICT 60 • Ví dụ 2: Số nhị phân 1101001.1011 có giá trị: 1101001.1011(2) = 2 6 + 25 + 23 + 20 + 2-1 + 2-3 + 2-4 = 64 + 32 + 8 + 1 + 0.5 + 0.125 + 0.0625 = 105.6875(10) c. Hệ đếm nhị phân (4) Copyright by SOICT 16 61 • 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ị ph}n như sau: A = an an-1 a1 a0 . a-1 a-2 a-m • Với ai l{ c|c chữ số trong hệ b|t ph}n, khi đó gi| trị của A l{: d. Hệ đếm bát phân (2) 1 1 0 1 2 1 1 0 1 28 8 ... 8 8 8 8 ... 8 8 n n m n n m n i i i m A a a a a a a a A a 62 • Ví dụ: 235 . 64 (8) có gi| trị như sau: 235 . 64 (8) = 2x8 2 + 3x81 + 5x80 + 6x8-1 + 4x8-2 = 157. 8125 (10) d. Hệ đếm bát phân (3) Copyright by SOICT 63 • Sử dụng 16 ký số: 0,1,2,3,4,5,6,7,8,9,A, B,C,D,E,F • C|c chữ in: A, B, C, D, E, F biểu diễn c|c gi| trị số tương ứng (trong hệ 10) là 10, 11, 12, 13, 14, 15 e. Hệ đếm 16, Hexadecimal, b=16 64 • Giả sử có số A được biểu diễn theo hệ thập lục ph}n như sau: A = an an-1 a1 a0 . a-1 a-2 a-m Với ai l{ c|c chữ số trong hệ thập lục ph}n, khi đó gi| trị của A l{: 1 1 0 1 2 1 1 0 1 216 16 ... 16 16 16 16 ... 16 16 n n m n n m n i i i m A a a a a a a a A a e. Hệ đếm 16 (2) 17 65 • Ví dụ: 34F5C.12D(16) có gi| trị như sau: 34F5C.12D(16) = 3x164 + 4x163 + 15x162 + 5x161 + 12x160 +? = 216294(10) + ? e. Hệ đếm 16 (3) Copyright by SOICT Nội dung 1.1. Thông tin v{ Tin học 1.2. Biểu diễn số trong hệ đếm 1.2.1. Hệ đếm 1.2.2. Chuyển đổi cơ số 1.3. Biểu diễn dữ liệu trong m|y tính 66 Copyright by SOICT 67 1.2.2. Chuyển đổi cơ số • Trường hợp tổng qu|t, một số N trong hệ thập ph}n (N(10)) gồm phần nguyên v{ phần thập ph}n. • Chuyển 1 số từ hệ thập ph}n sang 1 số ở hệ cơ số b bất kỳ gồm 2 bước: – Đổi phần nguyên (của số đó) từ hệ thập phân sang hệ b – Đổi phần thập phân (của số đó) từ hệ thập phân sang hệ cơ số b Copyright by SOICT 68 a. Chuyển đổi phần nguyên ... ài tập • Chuyển sang hệ nhị ph}n – 124.75 – 65.125 76 Copyright by SOICT 20 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ự 77 Copyright by SOICT 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ự 78 Copyright by SOICT 79 1.3.1. Nguyên lý chung • Mọi dữ liệu khi đưa vào máy tính đều phải được mã hóa thành số nhị phân • Các loại dữ liệu: – Dữ liệu nhân tạo: Do con người quy ước – Dữ liệu tự nhiên: • Tồn tại khách quan với con người. • Phổ biến là các tín hiệu vật lý như âm thanh, hình ảnh, Copyright by SOICT 80 a. Nguyên tắc mã hóa dữ liệu • Mã hóa dữ liệu nhân tạo: – Dữ liệu số: Mã hóa theo các chuẩn quy ước – Dữ liệu ký tự: Mã hóa theo bộ mã ký tự • Mã hóa dữ liệu tự nhiên: – Các dữ liệu cần phải số hóa trước khi đưa vào máy tính – Theo sơ đồ mã hóa và tái tạo tín hiệu vật lý Copyright by SOICT 21 81 Sơ đồ mã hóa và tái tạo tín hiệu vật lý • Ví dụ: MODEM: MOdulator and DEModulator (Điều chế và Giải điều chế) Copyright by SOICT 82 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, Copyright by SOICT c. Đơn vị thông tin 83 • Đơn vị nhỏ nhất để biểu diễn thông tin l{ BIT (Binary DigIT) • C|c đơn vị biểu diễn lớn hơn Tên gọi Ký hiệu Giá trị Byte KiloByte MegaByte GigaByte TeraByte Petabyte Exabyte B KB MB GB TB PB EB 8 bit 210 B = 1024 Byte 220 B = 1024 KB 230 B = 1024 MB 240 B = 1024 GB 250 B = 1024 TB 260 B = 1024 PB Copyright by SOICT 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ự 84 Copyright by SOICT 22 85 1.3.2. Biểu diễn số nguyên • Dùng 1 chuỗi bit để biểu diễn. • 2 trường hợp: –Số nguyên không dấu –Số nguyên có dấu Copyright by SOICT 86 a. Số nguyên không dấu • 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: an-1an-2...a3a2a1a0 • Gi| trị của A được tính như sau: • Dải biểu diễn của A: [0, 2n-1] 1 2 1 0 1 2 1 0 1 0 2 2 ... 2 2 2 n n n n n i i i A a a a a A a Ví dụ 1 • Biểu diễn c|c số nguyên không dấu sau đ}y bằng 8 bit: A = 45 B = 156 Giải: A = 45 = 32 + 8 + 4 + 1 = 25 + 23 + 22 + 20 A = 0010 1101(2) B = 156 = 128 + 16 + 8 + 4 = 27 + 24 + 23 + 22 B = 1001 1100 (2) 87 Copyright by SOICT Ví dụ 2 • Cho c|c số nguyên không dấu X, Y được biểu diễn bằng 8 bit như sau: X = 0010 1011 Y = 1001 0110 Giải: X = 0010 1011 = 25 + 23 + 21 + 20 = 32 + 8 + 2 + 1 = 43 Y = 1001 0110 = 27 + 24 + 22 + 21 = 128 + 16 + 4 + 2 = 150 88 Copyright by SOICT 23 89 Trường hợp cụ thể: với n = 8 bit • Dải biểu diễn l{ [0, 255] 0000 0000 = 0 0000 0001 = 1 0000 0010 = 2 0000 0011 = 3 ..... 1111 1111 = 255 • Trục số học: 0 1 2 3 255 254 Trục số học m|y tính: 0 1 2 255 Copyright by SOICT Với n = 16 bit, 32 bit, 64 bit • n = 16 bit: –Dải biểu diễn l{ [0, 65535] • n = 32 bit: –Dải biểu diễn l{ [0, 232-1] • n = 64 bit: –Dải biểu diễn l{ [0, 264-1] 90 Copyright by SOICT 91 b. Biểu diễn số nguyên có dấu • Số nguyên có dấu gồm: số }m, số dương • Sử dụng bit đầu tiên l{m bit dấu: – 0 cho số dương – 1 cho số }m • Biểu diễn số }m bằng số bù 2 Copyright by SOICT i. Số bù một và số bù hai (hệ nhị phân) • Giả sử có 1 số nguyên nhị ph}n được biểu diễn bởi n bit. Ta có: – Số bù một của A = (2n - 1) – A – Số bù hai của A = 2n – A – NX: Số bù hai = Số bù một + 1 • Ví dụ – 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 92 Copyright by SOICT 24 93 Nhận xét • Ví dụ (trước) – 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 Có thể tìm số bù một của A bằng c|ch đảo ngược tất cả c|c bit Số bù hai = Số bù một + 1 A + Số bù hai của A = 0 nếu bỏ qua bit nhớ ra khỏi bit cao nhất Copyright by SOICT 94 ii. Biểu diễn số nguyên có dấu • Biểu diễn số }m bằng số bù 2 • Ví dụ: Biểu diễn số nguyên có dấu sau đ}y (bằng 8 bit): A = - 70(10) Biểu diễn 70 = 0100 0110 Bù 1: 1011 1001 (nghịch đảo c|c bit) + 1 Bù 2: 1011 1010 Vậy: A = 1011 1010(2) Copyright by SOICT 95 • Dạng tổng qu|t của số nguyên có dấu A: A = an-1an-2...a2a1a0 • Gi| trị của A được x|c định như sau: • Dải biểu diễn: [-2n-1, 2n-1-1] 10000000 . 01111111 • Nhận xét: Với số dương, số }m? 2 1 1 0 2 2 n n i n i i A a a ii. Biểu diễn số nguyên có dấu (tiếp) 96 Ví dụ • X|c định gi| trị của c|c số nguyên có dấu 8 bit sau đ}y: A = 0101 0110 B = 1101 0010 Giải: A = 26 + 24 + 22 + 21 = 64 + 16 + 4 + 2 = +86 B = -27 + 26 + 24 + 21 = = -128 + 64 + 16 + 2 = -46 Copyright by SOICT 25 Trường hợp cụ thể: với n = 8 bit • Dải biểu diễn l{ [-128, 127] 0000 0000 = 0 0000 0001 = +1 0000 0010 = +2 ....... 01111111 = +127 10000000 = -128 10000001 = -127 ....... 1111 1110 = -2 1111 1111 = -1 • Trục số học m|y tính Copyright by SOICT 97 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ấu) • Ph}n nh}n, phép chia số nguyên 98 Copyright by SOICT 99 • Phép cộng: 1+0=0+1=1; 0+0=0; 1+1=10; • Phép trừ: 0-1=1; (vay 1) 1-1=0; 0-0=0; 1-0=1 Tính toán trong hệ nhị phân 110 + 111 --------- 1101 1101 - 111 --------- 110 Copyright by SOICT 100 c. Tính toán số học với số nguyên (2) • Cộng/ trừ số nguyên không dấu: – Tiến h{nh cộng/trừ lần lượt từng bít từ phải qua trái. – Khi cộng/trừ hai số nguyên không dấu n bit ta thu được một số nguyên không dấu n bit. • Nếu tổng của hai số đó lớn hơn 2n-1 thì khi đó sẽ tr{n số v{ kết quả sẽ l{ sai. • Trừ số không dấu thì ta chỉ trừ được số lớn cho số nhỏ. Trường hợp ngược lại sẽ sai Copyright by SOICT 26 101 Ví dụ: Cộng trừ số nguyên không dấu • Dùng 8 bit để biểu diễn số nguyên không dấu • Trường hợp không xảy ra tr{n số (carry- out): X = 1001 0110 = 150 Y = 0001 0011 = 19 S = 1010 1001 = 169 Cout = 0 • Trường hợp có xảy ra tr{n số (carry-out): X = 1100 0101 = 197 Y = 0100 0110 = 70 S = 0000 1011 267 Cout = 1 carry-out – (KQ sai = 23 + 21 + 20 = 11) Copyright by SOICT 102 c. Tính toán số học với số nguyên (3) • Cộng số nguyên có dấu • Cộng lần lượt c|c cặp bit từ phải qua tr|i, bỏ qua bit nhớ (nếu có). • Cộng hai số kh|c dấu: kết quả luôn đúng • Cộng hai số cùng dấu: • Nếu tổng nhận được cùng dấu với 2 số hạng thì kết quả l{ đúng • Nếu tổng nhận được kh|c dấu với 2 số hạng thì đ~ xảy ra hiện tượng tràn số học (overflow) v{ kết quả nhận được l{ sai Copyright by SOICT 103 Ví dụ: Cộng/trừ số nguyên có dấu • VD: không tr{n số Copyright by SOICT 104 Ví dụ: Cộng/trừ số nguyên có dấu • Có xảy ra tr{n số: Copyright by SOICT 27 c. Tính toán số học với số nguyên (4) • Trừ số nguyên có dấu – Để trừ hai số nguyên có dấu X v{ Y, cần lấy bù hai của Y tức –Y, sau đó cộng X với –Y tức l{: X – Y = X + (-Y). – Cộng lần lượt c|c cặp bit từ phải qua tr|i, bỏ qua bit nhớ (nếu có). – Ví dụ: 105 Copyright by SOICT 106 c. Tính toán số học với số nguyên (4) • Nh}n/chia số nguyên không dấu – C|c bước thực hiện như trong hệ 10 – VD: Phép nhân 1011 (11 cơ số 10) x 1101 (13 cơ số 10) ------------- 1011 0000 1011 1011 -------------- 10001111 (143 cơ số 10) Nhận xét Copyright by SOICT c. Tính toán số học với số nguyên (5) • Phép chia số nguyên không dấu 107 Copyright by SOICT c. Tính toán số học với số nguyên (6) • 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ả. 108 Copyright by SOICT 28 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ự 109 Copyright by SOICT 110 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 = 1.23 * 101 = 123 * 10-1 Copyright by SOICT 111 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) Copyright by SOICT 112 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 Copyright by SOICT 29 113 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ũ. Copyright by SOICT 114 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 Copyright by SOICT 115 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 116 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 Copyright by SOICT 30 117 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 Copyright by SOICT 118 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 119 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 Copyright by SOICT 120 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 Copyright by SOICT 31 121 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 Copyright by SOICT 122 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) Copyright by SOICT 123 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 X = (-1)S x 1.m x 2e-127 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ự 124 Copyright by SOICT 32 125 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. Copyright by SOICT 126 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) Copyright by SOICT 127 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 128 Copyright by SOICT 33 129 Các ký tự điều khiển • Ký tự điểu khiển định dạng: BackSpace, HT, VT, LF, CR, • C|c ký tự điều khiển truyền thông • Ký tự điều khiển ph}n c|ch thông tin • C|c ký tự điều khiển kh|c Copyright by SOICT 130 b. Ký tự mở rộng • 128 ký tự nửa sau (80-FF) • Đượ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. Copyright by SOICT 131 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
File đính kèm:
- bai_giang_tin_hoc_dai_cuong_phan_1_tin_hoc_can_ban_bai_1_tho.pdf