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

pptx 120 trang haiha333 07/01/2022 2621
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, Chương 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:

  • pptxbai_giang_tin_hoc_dai_cuong_phan_1_chuong_1_thong_tin_va_bie.pptx

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

  1. VIỆN CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG TIN HỌC ĐẠI CƯƠNG Phần 1: TIN HỌC CĂN BẢN
  2. Phần 1: Tin học căn bản Nội dung chính Chương 1: Thông tin và biểu diễn thông tin – Các khái niệm cơ bản về thông tin và tin học – Biểu diễn dữ liệu trong máy tính Chương 2: Hệ thống máy tính – Hệ thống máy tính – Mạng máy tính – Hệ điều hành Chương 3: Các hệ thống ứng dụng – Hệ thống thông tin quản lý – Hệ thông tin bảng tính – Hệ quản trị cơ sở dữ liệu – Các hệ thống thông minh 16-Aug-15 2
  3. Chương 1: Thông tin và biểu diễn thông tin Nội dung chính 1. Các khái niệm cơ bản về thông tin và tin học 1. Thông tin và xử lý thông tin 2. Máy tính điện tử và phân loại 3. Tin học và các ngành liên quan 2. Biểu diễn dữ liệu trong máy tính 1. Biểu diễn số trong các hệ đếm 2. Biểu diễn dữ liệu trong MT & đơn vị thông tin 3. Biểu diễn số nguyên 4. Biểu diễn số thực 5. Biểu diễn ký tự 16-Aug-15 3
  4. Chương 1: Thông tin và biểu diễn thông tin 1. Các khái niệm cơ bản về thông tin và tin học 1.1 Thông tin và xử lý thông tin • Thông tin • Dữ liệu • Tri thức • Hệ thống thông tin • Xử lý thông tin 16-Aug-15 4
  5. Chương 1: Thông tin và biểu diễn thông tin 1. Các khái niệm cơ bản về thông tin và tin học Thông tin Thông tin (information) là gì ? • Là khái niệm trừu tượng mô tả tất cả những gì đem lại cho con người sự hiểu biết, nhận thức tốt hơn về những đối tượng trong đời sống xã hội, trong thiên nhiên, • Giúp cho con người thực hiện hợp lý công việc cần làm để đạt tới mục đích một cách tốt nhất. • Là ngữ cảnh trong đó dữ liệu được xem xét 16-Aug-15 5
  6. Chương 1: Thông tin và biểu diễn thông tin 1. Các khái niệm cơ bản về thông tin và tin học Dữ liệu Dữ liệu (data) là gì ? – 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ý. – Là vật liệu thô mang tin, • Dữ liệu sau khi được tập hợp và xử lý sẽ cho ra thông tin. Dữ liệu trong thực tế có thể là – Các số liệu: Dữ liệu số như trong các bảng biểu. – Các ký hiệu quy ước; ví dụ chữ viết – Các tín hiệu vật lý; ví dụ như ánh sáng, âm thanh, nhiệt độ, áp suất, 16-Aug-15 6
  7. Chương 1: Thông tin và biểu diễn thông tin 1. Các khái niệm cơ bản về thông tin và tin học Dữ liệu→Ghi chú • Thông tin chứa đựng ý nghĩa • Dữ liệu chỉ là các sự kiện không có cấu trúc và không có ý nghĩa nếu không được tổ chức và xử lý. Ví dụ Nhiệt độ cơ thể - dữ liệu số – 39°C: Thông tin đang bị sốt – 37°C: Thông tin bình thường 16-Aug-15 7
  8. Chương 1: Thông tin và biểu diễn thông tin 1. Các khái niệm cơ bản về thông tin và tin học Tri thức ▪ Tri thức (Knowledge) là gì? • Tri thức theo nghĩa thường là thông tin ở mức trừu tượng hơn ▪ Tri thức khá đa dạng: • Có thể là sự kiện , là thông tin • Là cách mà một người thu thập được qua kinh nghiệm hoặc qua đào tạo. • Có thể là sự hiểu biết chung hay về một lĩnh vực cụ thể nào đó. 16-Aug-15 8
  9. Chương 1: Thông tin và biểu diễn thông tin 1. Các khái niệm cơ bản về thông tin và tin học Hệ thống thông tin Hệ thống thông tin (information system) là một hệ thống ghi nhận dữ liệu, xử lý chúng để tạo nên thông tin có ý nghĩa hoặc dữ liệu mới. Dữ liệu Xử lý Thông tin Xử lý Tri thức 16-Aug-15 9
  10. Chương 1: Thông tin và biểu diễn thông tin 1. Các khái niệm cơ bản về thông tin và tin học Xử lý thông tin Quy trình xử lý thông tin (máy tính/con người) NHẬP DỮ LIỆU XỬ LÝ XUẤT DỮ LIỆU (INPUT) (PROCESSING) (OUTPUT) LƯU TRỮ (STORAGE) Xử lý thông tin bằng máy tính điện tử • Tiết kiệm rất nhiều thời gian, công sức • Tăng độ chính xác cao trong tự động hóa một phần hay toàn phần của quá trình xử lý dữ liệu hay thông tin 16-Aug-15 10
  11. Chương 1: Thông tin và biểu diễn thông tin 1. Các khái niệm cơ bản về thông tin và tin học 1.2 Máy tính điện tử và phân loại ❖ Lịch sử hình thành và phát triển • Máy tính điện tử và chương trình • Các thế hệ của máy tính điện tử ❖ Phân loại máy tính – Phân loại theo hiệu năng tính toán – Phân loại khác 16-Aug-15 11
  12. Chương 1: Thông tin và biểu diễn thông tin 1. Các khái niệm cơ bản về thông tin và tin học Lịch sử hình thành và phát triển ❖ Máy tính điện tử (computer): ▪ Là thiết bị điện tử thực hiện các công việc: • Nhận thông tin vào • Xử lý thông tin theo chương trình được nhớ sẵn bên trong • Đưa thông tin ra ❖ Chương trình (program) ▪ Là một dãy các lệnh trong bộ nhớ nhằm yêu cầu máy tính thực hiện công việc cụ thể. Máy tính hoạt động theo chương trình. 16-Aug-15 12
  13. Chương 1: Thông tin và biểu diễn thông tin 1. Các khái niệm cơ bản về thông tin và tin học Lịch sử hình thành và phát triển Các thế hệ của máy tính điện tử • Thế hệ 1 (1950-1958) • Thế hệ 2( 1958-1964) • Thế hệ 3 (1965-1974) • Thế hệ 4 (1974 – nay) • Thế hệ 5 (1990 – nay) 16-Aug-15 13
  14. Chương 1: Thông tin và biểu diễn thông tin 1. Các khái niệm cơ bản về thông tin và tin học Lịch sử hình thành và phát triển→Thế hệ 1 Von Neumann Machine (1950-1958) – Sử dụng các bóng đèn điện tử chân không – Mạch riêng rẽ, vào số liệu bằng phiếu đục lỗ – Điều khiển bằng tay, kích thước rất lớn – Tiêu thụ năng lượng nhiều, tốc độ tính chậm khoảng 300 - 3.000 phép tính/s. Ví dụ: EDVAC (Mỹ), BESEM (Liên xô cũ) 16-Aug-15 14
  15. Bóng đèn chân không Máy tính đầu tiên: ENIAC Electronic Numerical Integrator And Computer 16-Aug-15 15
  16. Von Neumann & UNIVAC (Universal Automatic Computer) 16-Aug-15 16
  17. EDVAC: Electronic Discrete Variable Automatic Computer 16-Aug-15 17
  18. Chương 1: Thông tin và biểu diễn thông tin 1. Các khái niệm cơ bản về thông tin và tin học Lịch sử hình thành và phát triển→Thế hệ 2 Transistors (1958 - 1964): – Sử dụng bộ xử lý bằng đèn bán dẫn, mạch in – Đã có chương trình dịch như Cobol, Fortran và hệ điều hành đơn giản. – Kích thước máy còn lớn – Tốc độ tính khoảng 10.000 - 100.000 phép tính/s Ví dụ – IBM 7000 series (Mỹ) – MINSK (Liên Xô cũ) 16-Aug-15 18
  19. IBM 7030 16-Aug-15 20
  20. MINSK (Liên Xô cũ) 16-Aug-15 20
  21. Chương 1: Thông tin và biểu diễn thông tin 1. Các khái niệm cơ bản về thông tin và tin học Lịch sử hình thành và phát triển→Thế hệ 3 Integrated Circuits (1965 - 1974): – Các bộ vi xử lý được gắn vi mạch điện tử cỡ nhỏ – Tốc độ tính khoảng 100.000 - 1 triệu phép tính/s. –Có các hệ điều hành đa chương trình, nhiều người đồng thời theo kiểu phân chia thời gian. – Kết quả từ máy tính có thể in trực tiếp từ máy in. Ví dụ – IBM-360 (Mỹ) – EC (Liên xô cũ) 16-Aug-15 21
  22. IBM 360/91 16-Aug-15 22
  23. Chương 1: Thông tin và biểu diễn thông tin 1. Các khái niệm cơ bản về thông tin và tin học Lịch sử hình thành và phát triển→Thế hệ 4 LSI(Large Scale Integration), Multiprocessors: – Máy tính có các vi mạch đa xử lý – Tốc độ: hàng chục triệu đến hàng tỷ phép tính/s. – Hai loại máy tính chính: • Máy tính cá nhân để bàn (Personal Computer - PC) hoặc xách tay (Laptop hoặc Notebook computer) • Các loại máy tính chuyên nghiệp thực hiện đa chương trình, đa xử lý, – Hình thành các hệ thống mạng máy tính (Computer Networks). – Các ứng dụng phong phú, đa phương tiện 16-Aug-15 23
  24. Vi mạch Intel 4004 8080 80386 Pentium 16-Aug-15 24
  25. Chương 1: Thông tin và biểu diễn thông tin 1. Các khái niệm cơ bản về thông tin và tin học Lịch sử hình thành và phát triển→Thế hệ 5 VLSI (Very Large Scale Integration), ULSI (Ultra), Artificial Intelligence (AI) – Công nghệ vi điện tử với tốc độ tính toán cao và khả năng 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 – Hệ quản lý kiến thức cơ bản để giải quyết các bài toán đa dạng. 16-Aug-15 25
  26. Chương 1: Thông tin và biểu diễn thông tin 1. Các khái niệm cơ bản về thông tin và tin học Phân loại máy tính Nhiều cách phân loại khác nhau • Theo hiệu năng tính toán – Máy vi tính (Microcomputer) – Máy tính nhỏ (Minicomputer) – Máy tính lớn (Mainframe Computer) – Siêu máy tính (Supercomputer) • Phân loại khác – Máy tính "để bàn" (Desktop Computing) – Máy chủ (Server) – Máy tính nhúng (Embedded Computer) 16-Aug-15 26
  27. Chương 1: Thông tin và biểu diễn thông tin 1. Các khái niệm cơ bản về thông tin và tin học Phân loại máy tính→ Máy vi tính • Thường được thiết kế cho một người dùng • Giá thành rẻ • Có nhiều dang máy khác nhau – Máy để bàn (desktop computer) – Máy trạm (Workstation) – Máy xách tay (Notebook, Laptop) – Máy tính bỏ túi 16-Aug-15 27
  28. Chương 1: Thông tin và biểu diễn thông tin 1. Các khái niệm cơ bản về thông tin và tin học Phân loại máy tính→ Máy tính để bàn • Là loại máy tính phổ biến • Thiết kế theo hướng tối ưu cả về giá thành và hiệu năng • Giá thành: từ 500$ đến 10,000$ • Một số loại: – Máy tính cá nhân (Personal Computer – PC) – Máy trạm làm việc (Workstation) • IBM giới thiệu máy tính IBM-PC sử dụng bộ vi xử lý Intel 8088 năm1981 • Apple đưa ra Macintosh sử dụng bộ xử lý Motorola 68000 năm 1984 29 16-Aug-15
  29. Chương 1: Thông tin và biểu diễn thông tin 1. Các khái niệm cơ bản về thông tin và tin học Phân loại máy tính→ Máy tính nhỏ • Thường được thiết kế để sử dụng cho các ứng dụng phức tạp – Tốc độ và hiệu năng tinh toán mạnh hơn máy vi tính • Giá thành: Khoảng chục ngàn USD 16-Aug-15 29
  30. Chương 1: Thông tin và biểu diễn thông tin 1. Các khái niệm cơ bản về thông tin và tin học Phân loại máy tính→ Máy tính lớn và siêu MT • Có tổ chức bên trong phức tạp • Tốc độ rất nhanh, hiệu năng cao – Ngàn tỷ phép tính/giây • Cho phép nhiều người dùng đồng thời • Được dùng tại các trung tâm tính toán – Nhằm giải quyết bài toán lớn, đòi hỏi tốc độ • Giá thành: Hàng triệu USD 16-Aug-15 30
  31. Supercomputer Mainfra me 16-Aug-15 31
  32. Chương 1: Thông tin và biểu diễn thông tin 1. Các khái niệm cơ bản về thông tin và tin học Phân loại máy tính→ Máy chủ • Là máy phục vụ; thường dùng trong mạng máy tính theo mô hình Client/Server • Tốc độ và hiệu năng tính toán cao • Dung lượng bộ nhớ lớn • Độ tin cậy cao • Giá thành: từ hàng chục nghìn đến hàng triệu USD. 16-Aug-15 32
  33. Chương 1: Thông tin và biểu diễn thông tin 1. Các khái niệm cơ bản về thông tin và tin học Phân loại máy tính→ Máy tính nhúng • Đặt trong thiết bị khác để điều khiển thiết bị đó làm việc • Được thiết kế chuyên dụng – Điện thoại di động – Bộ điều khiển trong máy giặt, điều hòa nhiệt độ – Một số thiết bị mạng: Switch, Router, • Giá thành: từ vài USD đến hàng trăm ngàn USD 16-Aug-15 34
  34. Chương 1: Thông tin và biểu diễn thông tin 1. Các khái niệm cơ bản về thông tin và tin học 1.3 Tin học và các ngành liên quan • Thuật ngữ tin học • Công nghệ thông tin • Công nghệ thông tin và truyền thông 16-Aug-15 34
  35. Chương 1: Thông tin và biểu diễn thông tin 1. Các khái niệm cơ bản về thông tin và tin học Thuật ngữ tin học • Nguồn gốc từ tiếng Đức – Năm 1957 Karl Steinbuch đề xướng trong bài báo Informatik: Automatische Informationsverarbeitung (Informatics: automatic information processing). • Năm 1962, Philippe Dreyfus người Pháp gọi là “informatique”, tiếp theo là Walter F.Bauer cũng sử dụng tên này. • Phần lớn các nước Tây Âu, đều chấp nhận. – Tại Anh, sử dụng thuật ngữ ‘computer science’, hay ‘computing science’, • Nga cũng chấp nhận tên informatika (1966). 16-Aug-15 35
  36. Chương 1: Thông tin và biểu diễn thông tin 1. Các khái niệm cơ bản về thông tin và tin học Tin học (informatic) ▪ Tin học 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. ▪ Nội dung nghiên cứu của tin học gồm : • Kỹ thuật phần cứng (Hardware engineering) • Kỹ thuật phần mềm (Software engineering) 16-Aug-15 36
  37. Chương 1: Thông tin và biểu diễn thông tin 1. Các khái niệm cơ bản về thông tin và tin học Công nghệ thông tin: Information Technology • Thuật ngữ Công nghệ thông tin xuất hiện ở Việt nam vào những năm 90. • Theo ITAA: Information Technology Association of America – CNTT là ngành nghiên cứu các hệ thống thông tin dựa vào máy tính, đặc biệt là các phần mềm ứng dụng và phần cứng máy tính. – 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. 16-Aug-15 37
  38. Chương 1: Thông tin và biểu diễn thông tin 1. Các khái niệm cơ bản về thông tin và tin học Công nghệ thông tin→Các ứng dụng • Các bài toán khoa học kỹ thuật – Bài toán phức tạp, cần hàng triệu phép tính/giây • Các bài toán quản lý – Quản lý thông tin, CSDL, hỗ trợ quyết định • Tự động hóa, công tác văn phòng • Y tế, Giáo dục – Hỗ trợ trình bày bài giảng, chuẩn đoán bệnh, • Thương mại điện tử – Hỗ trợ mua bán, thanh toán qua mạng • Các ứng dụng trong đời sống thường ngày – Máy móc, đồ điện tử • Giải trí: game, xem phim, đọc báo . • . 16-Aug-15 38
  39. Chương 1: Thông tin và biểu diễn thông tin 1. Các khái niệm cơ bản về thông tin và tin học Công nghệ thông tin và truyền thông • Khuynh hướng hiện thời –Sử dụng "information" thay thế cho "data" –Mở rộng cho lĩnh vực truyền thông và CNTT trở thành CNTT&TT • ICT: Information and Communication Technology Khoa Khoa Viện Tin học CNTT CNTT&TT (1987-1995) (1995-2009) (2009-nay) Trường Đại học Bách Khoa Hà nội 16-Aug-15 39
  40. Chương 1: Thông tin và biểu diễn thông tin 1. Các khái niệm cơ bản về thông tin và tin học Công nghệ thông tin và truyền thông 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 trong một phạm vi địa lý nhỏ. – Nhiều máy tính có thể kết nối với nhau theo một phạm vi rộng hơn và việc trao đổi được thực hiện qua một mạng viễn thông nào đó. • Internet – Mạng máy tính toàn cầu: sản phẩm của ngành Công nghệ thông tin và Truyền thông. 16-Aug-15 40
  41. Chương 1: Thông tin và biểu diễn thông tin Nội dung chính 1. Các khái niệm cơ bản về thông tin và tin học 1. Thông tin và xử lý thông tin 2. Máy tính điện tử và phân loại. 3. Tin học và các ngành liên quan 2. Biểu diễn dữ liệu trong máy tính 1. Biểu diễn số trong các hệ đếm 2. Biểu diễn dữ liệu trong MT & đơn vị thông tin 3. Biểu diễn số nguyên 4. Biểu diễn số thực 5. Biểu diễn ký tự 16-Aug-15 41
  42. Chương 1: Thông tin và biểu diễn thông tin 2. Biểu diễn dữ liệu trong máy tính Nội dung ❖ Biểu diễn số trong các hệ đếm ❖ Biểu diễn dữ liệu trong máy tính và đơn vị thông tin ❖ Biểu diễn số nguyên ❖ Biểu diễn số thực ❖ Biểu diễn ký tự 16-Aug-15 42
  43. Chương 1: Thông tin và biểu diễn thông tin 2. Biểu diễn dữ liệu trong máy tính → 2.1 Biểu diễn số trong các hệ đếm Hệ đếm • Tập hợp các ký hiệu và qui tắc sử dụng tập ký hiệu để biểu diễn và xác định các giá trị. – Hệ La mã: I, V, X, L, C, – Quy tắc: IX, XV, XXX • Mỗi hệ đếm sử dụng một số ký tự/chữ 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, radix), ký hiệu là b. – Ví dụ: Hệ đếm cơ số 10, • 10 ký tự là: các chữ số từ 0 đến 9. 16-Aug-15 43
  44. Chương 1: Thông tin và biểu diễn thông tin 2. Biểu diễn dữ liệu trong máy tính → 2.1 Biểu diễn số trong các hệ đếm Hệ đếm • Trên lý thuyết, có thể biểu diễn một giá trị theo hệ đếm cơ số bất kì. • Trong tin học, quan tâm đến các hệ đếm: – 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/hệ cơ số 8 (Octal System) → Dùng để viết gọn số nhị phân. – Hệ mười sáu (Hexadecimal System) → Dùng để viết gọn số nhị phân 16-Aug-15 44
  45. Chương 1: Thông tin và biểu diễn thông tin 2. Biểu diễn dữ liệu trong máy tính → 2.1 Biểu diễn số trong các hệ đếm Hệ đếm thập phân (cơ số b =10) • Gồm 10 ký số: 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 • Một biểu diễn A : anan-1 a1a0 .a-1a-2 a-m xác định giá trị: n n−1 1 0 −1 −m A = an 10 + an−110 ++ a1 10 + a0 10 + a−110 ++a −m 10 n i = ai10 i=−m 16-Aug-15 45
  46. Chương 1: Thông tin và biểu diễn thông tin 2. Biểu diễn dữ liệu trong máy tính → 2.1 Biểu diễn số trong các hệ đếm Hệ đếm thập phân (cơ số b =10)→Ví dụ • Biểu diễn: 5246 – Có giá trị được tính như sau: 5246 = 5 x 103 + 2 x 102 + 4 x 101 + 6 x 100 • Biểu diễn 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 16-Aug-15 46
  47. Chương 1: Thông tin và biểu diễn thông tin 2. Biểu diễn dữ liệu trong máy tính → 2.1 Biểu diễn số trong các hệ đếm Hệ đếm cơ số b • Điều kiện: b nguyên, và b 2 • 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 • Biểu diễn Ab : anan-1 a1a0 . a-1a-2 a-m – n+1 ký số biểu diễn cho phần nguyên và m ký số biểu diễn cho phần lẻ – Xác định giá trị n n−1 1 0 −1 −m A =a n b +an−1b ++ a1 b +a0 b +a−1b ++a−mb n i = ai b i=−m 16-Aug-15 47
  48. Chương 1: Thông tin và biểu diễn thông tin 2. Biểu diễn dữ liệu trong máy tính → 2.1 Biểu diễn số trong các hệ đếm Hệ đếm nhị phân (binary system, b= 2) • Sử dụng 2 chữ số (nhị phân): 0,1 • Chữ số nhị phân gọi là bit (binary digit) – bit là đơn vị thông tin nhỏ nhất • Sử dụng n bit biểu diễn được 2n giá trị 00 0002 010 n 11 1112 2 -110 – Ví dụ, sử dụng 3 bit biểu diễn 8 giátrị 000 001 010 011 100 101 110 111 16-Aug-15 48
  49. Chương 1: Thông tin và biểu diễn thông tin 2. Biểu diễn dữ liệu trong máy tính → 2.1 Biểu diễn số trong các hệ đếm Hệ đếm nhị phân (binary system, b = 2) • Biểu diễn Ab : anan-1 a1a0 . a-1a-2 a-m – ai là các số nhị phân (0,1), xác định giá trị n n−1 1 0 −1 −m A = an 2 + an−1 2 ++ a1 2 + a0 2 +a −1 2 ++ a −m 2 n i =  ai 2 i=−m Ví dụ: Số nhị phân A: 1101001.10112 có giá trị A = 26 + 25 +23 + 20 + 2-1 + 2-3 + 2-4 = 64 + 32 + 8 + 1 + 0.5 + 0.125 + 0.0625 = 105.6875(10) 16-Aug-15 49
  50. Chương 1: Thông tin và biểu diễn thông tin 2. Biểu diễn dữ liệu trong máy tính → 2.1 Biểu diễn số trong các hệ đếm Hệ đếm nhị phân→Phép toán trên bit nhị phân Phép cộng Phép trừ 0 + 0 = 0; 1 – 0 = 1 1 + 0 = 0 + 1 = 1; 1 – 1 = 0; 0 – 0 = 0; 1 + 1 =10; 0 – 1 = 1; (nợ 1) Phép nhân Phép chia 0 x 0 = 1 x 0 = 0 x 1 = 0 1 x 1 = 1 16-Aug-15 50
  51. Chương 1: Thông tin và biểu diễn thông tin 2. Biểu diễn dữ liệu trong máy tính → 2.1 Biểu diễn số trong các hệ đếm Hệ đếm nhị phân→Phép toán →Ví dụ Phép cộng 1 0 1 + 1 1 1 Phép trừ 1 1 0 0 1 1 0 0 - 1 1 1 0 1 0 1 16-Aug-15 51
  52. Chương 1: Thông tin và biểu diễn thông tin 2. Biểu diễn dữ liệu trong máy tính → 2.1 Biểu diễn số trong các hệ đếm Hệ đếm bát phân (Octal system, b=8) • Gồm 8 ký số: 0, 1, 2, 3, 4, 5, 6, 7 • Dùng n chữ số thập phân có thể biểu diễn được 8n giá trị khác nhau: 00 000 = 0 (hệ thập phân) 77 777 = 8n-1 (hệ thập phân) 16-Aug-15 52
  53. Chương 1: Thông tin và biểu diễn thông tin 2. Biểu diễn dữ liệu trong máy tính → 2.1 Biểu diễn số trong các hệ đếm Hệ đếm bát phân (Octal system, b=8) • Biểu diễn A8 : anan-1 a1a0 . a-1a-2 a-m – ai là các số bát phân (0,1, ,7), xác định giá trị n n−1 1 0 −1 −m A = an 8 + an−18 ++ a1 8 + a0 8 + a−18 ++ a −m 8 n i =  ai8 i=−m Ví dụ: Số bát phân A: 235.648 có giá trị A = 2x82 + 3x81 + 5x80 + 6x8-1 + 4x8-2 = 157. 8125(10) 16-Aug-15 53
  54. Chương 1: Thông tin và biểu diễn thông tin 2. Biểu diễn dữ liệu trong máy tính → 2.1 Biểu diễn số trong các hệ đếm Hệ đếm thập lục phân (Hexadecimal, b =16) Hệ đếm cơ số b: • Gồm 16 ký số: 2 10 16 2 10 16 0, 1, 2, 3, 4, 5, 6, 7, 8, 0000 0 0 1000 8 8 9, A, B, C, D, E, F 0001 1 1 1001 9 9 0010 2 2 1010 10 A • Các chữ cái A, B, C, D, E, F biểu diễn các 0011 3 3 1011 11 B giá trị số tương ứng 0100 4 4 1100 12 C trong hệ 10: 0101 5 5 1101 13 D 0110 6 6 1110 14 E 10, 11, 12, 13, 14, 15 0111 7 7 1111 15 F 16-Aug-15 55
  55. Chương 1: Thông tin và biểu diễn thông tin 2. Biểu diễn dữ liệu trong máy tính → 2.1 Biểu diễn số trong các hệ đếm Hệ đếm thập lục phân (Hexadecimal, b =16) • Một biểu diễn Ah : anan-1 a1a0 . a-1a-2 a-m – ai là các số hệ hexadecimal xác định giá trị: n n−1 1 0 −1 −m A = a n 16 +an−116 ++ a1 16 + a0 16 +a−116 ++a−m16 n i = ai16 i=−m Ví dụ: Số hexa A: 2FD.C8h có giá trị A = 2x162 + 15x161 + 13x160 +12x16-1+8x16-2 = 675d + 0.78125d = 675.78125d Dùng 2 chữ số hệ 16 biểu diễn được bao nhiêu giá trị? 16-Aug-15 55
  56. Chương 1: Thông tin và biểu diễn thông tin 2. Biểu diễn dữ liệu trong máy tính → 2.1 Biểu diễn số trong các hệ đếm Chuyển đổi giữa các hệ đếm • Hệ đếm bất kỳ (b) → Hệ đếm thập phân • Hệ đếm thập phân → Hệ đếm bất kỳ (b) • Từ hệ đếm b sang bk và ngược lại (b=2) • Từ hệ đếm bk sang bn (thường b= 2) 16-Aug-15 56
  57. Chương 1: Thông tin và biểu diễn thông tin 2. Biểu diễn dữ liệu trong máy tính → 2.1 Biểu diễn số trong các hệ đếm Chuyển đổi hệ cơ số b bất kỳ → hệ thập phân • Biểu diễn Ab : anan-1 a1a0 . a-1a-2 a-m – n+1 ký số biểu diễn cho phần nguyên – m ký số biểu diễn cho phần lẻ –Các ký số ai thuộc tập ký số của hệ b Có giá trị tương đương trong hệ 10 n n−1 1 0 −1 −m A = an b + an−1b ++ a1 b + a0 b + a−1b ++ a −m b n i =  aib i=−m 4 3 1 -1 -2 11010.112 = 2 + 2 + 2 + 2 + 2 = 26.7510 1 0 -1 1A.C16 = 1x16 +10x16 +12x16 = 26.7510 16-Aug-15 57
  58. Chương 1: Thông tin và biểu diễn thông tin 2. Biểu diễn dữ liệu trong máy tính → 2.1 Biểu diễn số trong các hệ đếm Chuyển đổi hệ thập phân → hệ cơ số b bất kỳ • Giả thiêt R là một giá trị số hệ 10 –R10 = Phần nguyên(R) + Phần thập phân(R) –Ví dụ: 12.6875 = 12 + 0.6875 • Chuyển đổi R sang hệ b theo 2 bước –Chuyển đổi phần nguyên sang hệ cơ số b • Chia liên tiếp cho cơ số b cho đến khi thương số là 0 • Kết quả là các số dư viết theo thứ tự ngược lại –Chuyển đổi phần thập phân sang hệ cơ số b • Nhân liên tiếp cho cơ số b cho tới khi phần thập phân của tích bằng 0 • Kết quả là các phần nguyên trong các phép nhân được viết theo thứ tự tính toán 16-Aug-15 58
  59. Chương 1: Thông tin và biểu diễn thông tin 2. Biểu diễn dữ liệu trong máy tính → 2.1 Biểu diễn số trong các hệ đếm Chuyển đổi hệ thập phân → hệ cơ số b bất kỳ Phần nguyên - Int(R) • Chia cho cơ số b. Thương số t0, số dư d0 • Nếu t0≠0, chia t0 cho b, được t1 và dư d1 • • Tiếp tục cho tới khi thương số tn = 0, dư dn Kết quả Int(R10) = dndn-1 d1d0 (b) 16-Aug-15 59
  60. Chương 1: Thông tin và biểu diễn thông tin 2. Biểu diễn dữ liệu trong máy tính → 2.1 Biểu diễn số trong các hệ đếm Chuyển đổi hệ thập phân → hệ cơ số b bất kỳ Ví dụ: Chuyển đổi phần nguyên 12.6875 sang hệ nhị phân • 12 chia 2 = 6 dư 0 • 6 chia 2 = 3 dư 0 • 3 chia 2 = 1 dư 1 • 1 chia 2 = 0 dư 1 1 1 0 0 16-Aug-15 60
  61. Chương 1: Thông tin và biểu diễn thông tin 2. Biểu diễn dữ liệu trong máy tính → 2.1 Biểu diễn số trong các hệ đếm Chuyển đổi hệ thập phân → hệ cơ số b bất kỳ Phần thập phân - Frac(R) • Nhân Frac(R) với cơ số b. được phần nguyên n1, phần thập phân t1 ( Frac(R) x b = n1 . t1) • Nếu t1 ≠ 0, tiếp tục nhân t1 cho b, được n2 . t2 • • Tiếp tục cho tới khi được phần thập phân tk = 0, và phần nguyên nk(được nk . 0) Kết quả Frac(R10) = 0.n1n2 nn-1nk (b) 16-Aug-15 61
  62. Chương 1: Thông tin và biểu diễn thông tin 2. Biểu diễn dữ liệu trong máy tính → 2.1 Biểu diễn số trong các hệ đếm Chuyển đổi hệ thập phân → hệ cơ số b bất kỳ • Ví dụ: Chuyển đổi phần thập phân 12.6875 sang hệ nhị phân • 0.6875 x 2 = 1 . 375 • 0. 375 x 2 = 0 . 75 0.1011 • 0.75 x 2 = 1 . 5 • 0.5 x 2 = 1 . 0 Phần nguyên Phần thập phân 16-Aug-15 62
  63. Chương 1: Thông tin và biểu diễn thông tin 2. Biểu diễn dữ liệu trong máy tính → 2.1 Biểu diễn số trong các hệ đếm Chuyển đổi hệ thập phân → hệ cơ số b bất kỳ Chuyển đổi số 45.375 sang ❖ Hệ nhị phân 45 → 101101 0.375 → 0.011 45.375 → 101101.011 ❖ Hệ thập lục phân 45 → 2D 0.375 → 0.6 45.375 →2D.6 16-Aug-15 63
  64. Chương 1: Thông tin và biểu diễn thông tin 2. Biểu diễn dữ liệu trong máy tính → 2.1 Biểu diễn số trong các hệ đếm Chuyển đổi hệ thập phân → hệ cơ số 2 Nguyên tắc tính nhanh • Tách số nguyên cần chuyển đổi thành tổng các lũy thừa của 2. • Các bit của số nhị phân tương ứng sẽ mang giá trị 1/0 tùy theo có thành phần lũy thừa tương ứng trong tổng Ví dụ 67= 64 + 2 + 1 = 26 + 21 +20 = 1 0 0 0 0 1 1 (2) 117 = 64 +32 +16 +4 +1 = 26+25+24+22+20 = 1110101 16-Aug-15 65
  65. Chương 1: Thông tin và biểu diễn thông tin 2. Biểu diễn dữ liệu trong máy tính → 2.1 Biểu diễn số trong các hệ đếm Chuyển đổi hệ đếm b  bk • Một số hệ bk tương ứng với k chữ số hệ b – Hệ bát phân: 23 → tương ứng 3 số hệ nhị phân – Hệ Hexa 24 → tương ứng 4 số hệ nhị phân • Từ bk → b – Thay mỗi số hạng trong số hệ bk bằng k số trong hệ cơ số b • Từ b → bk – Nhóm từng k số hạng trong số hệ b, kể từ dấu phẩy (.) thập phân về 2 phía. • Thêm số 0 ở đầu và cuối số hệ b nếu cần – Thay mỗi nhóm bằng một số hệ bk 16-Aug-15 65
  66. Chương 1: Thông tin và biểu diễn thông tin 2. Biểu diễn dữ liệu trong máy tính → 2.1 Biểu diễn số trong các hệ đếm Chuyển đổi hệ đếm b  bk → Ví dụ 25. 348 = 010 101.011 1002=10101.01112 5A.2C16 = 0101 1010 . 0010 11002 = 1011010.0010112 10111110101.011012 = 010 111 110 101.011 0102 = 2765.328 10111110101.011012 = 0101 1111 0101.0110 10002 = 5F5.6816 16-Aug-15 66
  67. Chương 1: Thông tin và biểu diễn thông tin 2. Biểu diễn dữ liệu trong máy tính → 2.1 Biểu diễn số trong các hệ đếm Chuyển đổi hệ đếm bk → hệ bn Nguyên tắc: sử dụng hệ trung gian b bk → b → bn Ví dụ: 1234.67o = 001 010 011 100 . 110 111b = 0010 1001 1100 . 1101 1100b = 29C.DCh 5D.4Ch = 0101 1101 . 0100 1100b = 001 011 101 . 010 01 100b = 135.23o 16-Aug-15 68
  68. Chương 1: Thông tin và biểu diễn thông tin 2. Biểu diễn dữ liệu trong máy tính → 2.1 Biểu diễn số trong các hệ đếm Bài tập trên lớp Chuyển sang hệ nhị phân và hệ thập lục phân ❖ 124.75 • Hệ nhị phân : • Hệ thập lục phân: ❖ 65.125 • Hệ nhị phân: • Hệ thập lục phân: ❖ 7.3 • Hệ nhị phân: 16-Aug-15 68
  69. Chương 1: Thông tin và biểu diễn thông tin 2. Biểu diễn dữ liệu trong máy tính Nội dung ❖ Biểu diễn số trong các hệ đếm ❖ Biểu diễn dữ liệu trong máy tính và đơn vị thông tin ❖ Biểu diễn số nguyên ❖ Biểu diễn số thực ❖ Biểu diễn ký tự 16-Aug-15 69
  70. Chương 1: Thông tin và biểu diễn thông tin 2. Biểu diễn dữ liệu trong máy tính → 2.2 Biểu diễn dữ liệu trong máy tính và đơn vị thông tin Mã hóa dữ liệu cho máy tính • Dữ liệu đưa vào máy tính 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ý: âm thanh, hình ảnh, • Nguyên tắc mã hóa dữ liệu – 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ự – Dữ liệu tự nhiên: 16-Aug-15 • Cần phải số hóa trước khi đưa vào máy tính 71
  71. Chương 1: Thông tin và biểu diễn thông tin 2. Biểu diễn dữ liệu trong máy tính → 2.2 Biểu diễn dữ liệu trong máy tính và đơn vị thông tin Sơ đồ mã hóa và tái tạo tín hiệu vật lý 16-Aug-15 71
  72. Chương 1: Thông tin và biểu diễn thông tin 2. Biểu diễn dữ liệu trong máy tính → 2.2 Biểu diễn dữ liệu trong máy tính và đơn vị thông tin Dữ liệu trong máy tính • Dữ liệu cơ bản – Số nguyên, số thực, ký tự • Dữ liệu có cấu trúc – Mảng, xâu ký tự, tập hợp, bản ghi 16-Aug-15 72
  73. Chương 1: Thông tin và biểu diễn thông tin 2. Biểu diễn dữ liệu trong máy tính → 2.2 Biểu diễn dữ liệu trong máy tính và đơn vị thông tin Dữ liệu cơ bản • Số nguyên: – Không dấu: Biểu diễn theo mã nhị phân – Có dấu: Biểu diễn dưới dạng mã bù hai. • Số thực: – Biểu diễn bằng số dấu chấm (phẩy) động. • Ký tự: – Biểu diễn bằng mã ký tự trên các bộ mã ký tự. Độ dài từ dữ liệu: – Số bit được sử dụng để mã hóa loại dữ liệu tương ứng 16-Aug–-15Thực tế, độ dài từ dữ liệu thường là bội số của 87.4
  74. Chương 1: Thông tin và biểu diễn thông tin 2. Biểu diễn dữ liệu trong máy tính → 2.2 Biểu diễn dữ liệu trong máy tính và đơn vị thông tin Dữ liệu 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, kiểu xâu ký tự, kiểu tập hợp, bản ghi, – Các dữ liệu có cấu trúc sẽ được nghiên cứu cụ thể trong phần học về ngôn ngữ lập trình. 16-Aug-15 74
  75. Chương 1: Thông tin và biểu diễn thông tin 2. Biểu diễn dữ liệu trong máy tính → 2.2 Biểu diễn dữ liệu trong máy tính và đơn vị thông tin Đơn vị đo thông tin • Bit (BInary digiT) – Là đơn vị thông tin nhỏ nhất • Mỗi bit ứng với một sự kiện có 2 trạng thái – Ví dụ: Khóa điện có thể tắt khi mạch hở, bật khi mạch đóng – Nhận một trong hai giá trị nhị phân 0/1 • Byte (B): Chuỗi 8 bit – Kilobyte (KB): 1 KB = 210B = 1024B – Megabyte (MB): 1MB = 210KB =220B – Gigabyte (GB): 1GB =210MB = 220KB = 230B – Terabyte (TB): 1TB = 210GB = = 240B – Petabyte (PB): 1TB = 210TB = = 250B 16-Aug-15 75
  76. Chương 1: Thông tin và biểu diễn thông tin 2. Biểu diễn dữ liệu trong máy tính Nội dung ❖ Biểu diễn số trong các hệ đếm ❖ Biểu diễn dữ liệu trong máy tính và đơn vị thông tin ❖ Biểu diễn số nguyên ❖ Biểu diễn số thực ❖ Biểu diễn ký tự 16-Aug-15 76
  77. Chương 1: Thông tin và biểu diễn thông tin 2. Biểu diễn dữ liệu trong máy tính → 2.3 Biểu diễn số nguyên Nguyên tắc • Dùng một chuỗi bít để biểu diễn • Trường hợp số nguyên có dấu – Sử dụng bit đầu tiên (Most significant bit) để biểu diễn dấu • Bit đầu tiên được gọi là bit dấu 16-Aug-15 77
  78. Chương 1: Thông tin và biểu diễn thông tin 2. Biểu diễn dữ liệu trong máy tính → 2.3 Biểu diễn số nguyên Số nguyên không dấu • Dùng n bit để biểu diễn cho một số nguyên không dấu A: an-1an-2 a2a1a0 – Trong đó ai là các số nhị phân (0,1) • Giá trị của A được tính : n−1 1 0 A = an−1 2 ++ a1 2 + a0 2 n−1 i =  ai 2 i=0 • Dải biểu diễn :[0 2n-1] 16-Aug-15 78
  79. Chương 1: Thông tin và biểu diễn thông tin 2. Biểu diễn dữ liệu trong máy tính → 2.3 Biểu diễn số nguyên Số nguyên không dấu→Ví dụ Dùng 8 bit, biểu diễn các số nguyên không dấu • A = 45 A = 45 = 32 + 8 + 4 + 1 = 25 + 23 + 22 + 20 → A = 0010 1101 • B = 156 B = 156 = 128 + 16 + 8 + 4 = 27 + 24 + 23 + 22 → B = 1001 1100 16-Aug-15 79
  80. Chương 1: Thông tin và biểu diễn thông tin 2. Biểu diễn dữ liệu trong máy tính → 2.3 Biểu diễn số nguyên Số nguyên không dấu→Ví dụ Tính các số nguyên không dấu được biểu diễn bằng 8 bit – 0010 1011 X = 0010 1011 = 25 + 23 + 21 + 20 = 32 + 8 + 2 + 1 = 43 – 1001 0110 Y = 1001 0110 = 27 + 24 + 22 + 21 = 128 + 16 + 4 + 2 = 150 16-Aug-15 80
  81. Chương 1: Thông tin và biểu diễn thông tin 2. Biểu diễn dữ liệu trong máy tính → 2.3 Biểu diễn số nguyên Vấn đề tràn số • Xét trường hợp dùng 8 bit biểu diễn số nguyên – Phạm vi biểu diễn: [0-255] 00000000 → 0 255 0 1 00000001 → 1 254 2 00000010 → 2 3 . 11111110 →254 11111111 →255 Trục số học 0 1 2 255 Trục số học máy tính 16-Aug-15 81
  82. Chương 1: Thông tin và biểu diễn thông tin 2. Biểu diễn dữ liệu trong máy tính → 2.3 Biểu diễn số nguyên Vấn đề tràn số → Chú ý • Tràn số có thể gây sai sót trong viết chương trình cho máy tính – Tránh tràn số, dùng nhiều bit để biểu diễn { unsigned char N; //Kiểu số nguyên không dấu, 1 byte N = 255; N = N + 1; printf(« %d »,N); //Ra kết quả 0 , do tràn số } //Nếu dùng unsigned int(số 2 byte)có kết quả256, • Dùng 16 bit, phạm vi biểu diễn: 0  216-1 (65535) • Dùng 32 bit, phạm vi biểu diễn: 0  232-1 • Dùng 64 bit, phạm vi biểu diễn: 0  264-1 16-Aug-15 82
  83. Chương 1: Thông tin và biểu diễn thông tin 2. Biểu diễn dữ liệu trong máy tính → 2.3 Biểu diễn số nguyên Số nguyên có dấu • Dùng n bit để biểu diễn cho một số nguyên có dấu A: an-1an-2 a2a1a0 – Trong đó ai là các số nhị phân (0,1) • Giá trị của A được tính : n−2 n−1 i A = −an−1 2 +  ai 2 i=0 • Dải biểu diễn :[-2n-1 2n-1 - 1] – -2n-1 : 1000 000 //bit dấu bằng 1 – 2n-1 – 1 : 0111 111 //bit dấu bằng 0 16-Aug-15 83
  84. Chương 1: Thông tin và biểu diễn thông tin 2. Biểu diễn dữ liệu trong máy tính → 2.3 Biểu diễn số nguyên Số nguyên có dấu → Nhận xét • Xét số nguyên có dấu n bit an-1an-2 a2a1a0 – Nếu tất cả bit ai mang giá trị 1, giá trị là - 2n-1 + 2n-1-1 = - 1 • Nhận xét [an-1an-2 a2a1a0 ] – Nếu bit an-1 có giá trị 0, biểu diễn giá trị dương – Nếu bit an-1 có giá trị 1, giá trị âm sẽ phụ thuộc các bit mang ý nghĩa dương: an-2, ,a1, a0 • Các bit dương đều bằng 0→ số âm nhỏ nhất: -2n-1 • Các bit dương đều bằng 1→ số âm lớn nhất: - 1 Dãy n bit: 111 111 biểu diễn giá trị -1 111 111 + 1 = 1000 000 (n+1 bit) = 0 16-Aug-15 84
  85. Chương 1: Thông tin và biểu diễn thông tin 2. Biểu diễn dữ liệu trong máy tính → 2.3 Biểu diễn số nguyên Số nguyên có dấu → Ví dụ Tính các số nguyên có dấu được biểu diễn bằng 8 bit : • A = 0101 0110 A = 26 + 24 + 22 + 21 = 64 + 16 + 4 + 2 = +86 • B = 1101 0010 B = -27 + 26 + 24 + 21 = -128 + 64 + 16 + 2 = -46 16-Aug-15 85
  86. Chương 1: Thông tin và biểu diễn thông tin 2. Biểu diễn dữ liệu trong máy tính → 2.3 Biểu diễn số nguyên Chuyển số nguyên có dấu về dạng biểu diễn của máy tính • Số bù một của một số nhị phân A n bit làmột số thu được bởi nghịch đảo tất cả các bit trong A – A là số nhị phân n bit – Ar là số bù 1 (nghịch đảo bit) của A • A+Ar = 111 111 (n bit) • Số bù hai của một số nhị phân A n bit là số bù 1 của A + 1 • Xét số 8 bit 10110011 – Số bù 1: 01001100 16-Aug–-15 Số bù 2: 01001101 87
  87. Chương 1: Thông tin và biểu diễn thông tin 2. Biểu diễn dữ liệu trong máy tính → 2.3 Biểu diễn số nguyên Chuyển số nguyên có dấu về dạng biểu diễn của máy tính • Với số nhị phân n bit – A+Ar+1 = 111 .111+1=1 000 000(n+1 bit) =0 – Vậy Ar+1 chính là -A • Nhận xét: Số nguyên có dấu n bit –A được biểu diễn bởi số bù 2 của A Ví dụ: số nguyên có dấu 8 bit: A = -70 Biểu diễn 70 = 0100 0110 Bù 1 của 70: 1011 1001 + 1 Bù 2 của 70: 1011 1010 16-Aug-15 Vậy: A = 10111010 88
  88. Chương 1: Thông tin và biểu diễn thông tin 2. Biểu diễn dữ liệu trong máy tính → 2.3 Biểu diễn số nguyên Bài tập trên lớp Biểu diễn dưới dạng nhị phân 8 bit các số • 46 : • -46 : Biểu diễn dưới dạng nhị phân giá trị sau -159 16-Aug-15 88
  89. Chương 1: Thông tin và biểu diễn thông tin 2. Biểu diễn dữ liệu trong máy tính → 2.3 Biểu diễn số nguyên Tính toán số học với số nguyên • Cộng trừ số nguyên không dấu • Cộng/trừ số nguyên có dấu • Nhân chia các số nguyên không dấu • Các phép toán logic với số nhị phân 16-Aug-15 89
  90. Chương 1: Thông tin và biểu diễn thông tin 2. Biểu diễn dữ liệu trong máy tính → 2.3 Biểu diễn số nguyên Cộng trừ số nguyên không dấu Nguyên tắc – Tiến hành cộng/trừ lần lượt từng bít từ phải qua trái. – Khi cộng hai số nguyên không dấu n bits, thu được một số nguyên không dấu cũng n bits. • Nếu tổng của hai số đó lớn hơn 2n-1 tràn số và kết quả sẽ là sai. – Trường hợp số bị trừ, nhỏ hơn số trừ • Kết quả không hợp lệ (tràn số dưới) 16-Aug-15 91
  91. Chương 1: Thông tin và biểu diễn thông tin 2. Biểu diễn dữ liệu trong máy tính → 2.3 Biểu diễn số nguyên Ví dụ • 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 (267 = 256+11) – Cout = 1 → carry-out 16-Aug-15 91
  92. Chương 1: Thông tin và biểu diễn thông tin 2. Biểu diễn dữ liệu trong máy tính → 2.3 Biểu diễn số nguyên Cộng/trừ số nguyên có dấu • Phép cộng: • Thực hiện lần lượt các cặp bit từ phải qua trái, bỏ qua bit tràn số (nếu có). 11011011 (-37) 01001011 ( 75) 00100110 (38) • Phép trừ: X – Y = X + (-Y) • Lấy bù hai của Y • Cộng X với (–Y) theo nguyên tắc phép cộng. 16-Aug-15 92
  93. Chương 1: Thông tin và biểu diễn thông tin 2. Biểu diễn dữ liệu trong máy tính → 2.3 Biểu diễn số nguyên Cộng/trừ số nguyên có dấu → Nhận xét • Cộng hai số khác dấu: kết quả luôn đúng • Cộng hai số cùng dấu: • Tổng nhận được cùng dấu với 2 số hạng: Kết quả là đúng • Tổng nhận được khác dấu với 2 số hạng: Đã xảy ra hiện tượng tràn số học (Overflow) và kết quả nhận được là sai • Tràn số học xảy ra khi tổng của hai số nằm ngoài dải biểu diễn của số nguyên có dấu n bit: [-2n-1, 2n-1-1] 16-Aug-15 93
  94. Chương 1: Thông tin và biểu diễn thông tin 2. Biểu diễn dữ liệu trong máy tính → 2.3 Biểu diễn số nguyên Ví dụ • Không tràn số • Bỏ qua bit tràn số 16-Aug-15 94
  95. Chương 1: Thông tin và biểu diễn thông tin 2. Biểu diễn dữ liệu trong máy tính → 2.3 Biểu diễn số nguyên Ví dụ • Có xảy ra tràn số, kết quả sai: 16-Aug-15 95
  96. Chương 1: Thông tin và biểu diễn thông tin 2. Biểu diễn dữ liệu trong máy tính → 2.3 Biểu diễn số nguyên Nhân/chia số nguyên không dấu • Các bước thực hiện như trọng hệ 10. • Phép nhân 1011 (11 cơ số 10) x 1101 (13 cơ số 10) 1011 0000 1011 1011 10001111 (143 cơ số 10) 16-Aug-15 96
  97. Chương 1: Thông tin và biểu diễn thông tin 2. Biểu diễn dữ liệu trong máy tính → 2.3 Biểu diễn số nguyên Nhân/chia số nguyên không dấu • Phép chia • Nhân/chia cho lũy thừa của cơ số !? 16-Aug-15 97
  98. Chương 1: Thông tin và biểu diễn thông tin 2. Biểu diễn dữ liệu trong máy tính → 2.3 Biểu diễn số nguyên Các phép toán logic với số nhị phân AND OR XOR 0 0 0 0 0 NOT 0 1 0 1 1 0 1 1 0 0 1 1 1 0 1 1 1 1 0 • Thực hiện các phép toán logic với 2 số nhị phân: – Thực hiện các phép toán logic với từng cặp bit của 2 số • Các phép toán logic chỉ tác động lên từng cặp bit, không ảnh hưởng đến bit khác. – Kết quả là 1 số nhị phân 16-Aug-15 98
  99. Chương 1: Thông tin và biểu diễn thông tin 2. Biểu diễn dữ liệu trong máy tính → 2.3 Biểu diễn số nguyên Ví dụ NOT A 1010 1010 01010101 B 0000 1111 11110000 AND 00001010 OR 10101111 XOR 10100101 • Phép AND dùng để xoá một số bit và giữ nguyên các bit còn lại (Ví dụ: AND 11011011) • Phép OR dùng để thiết lập 1 số bit và giữ nguyên các bit khác. (Ví dụ: OR 00100100) 16-Aug-15 99
  100. Chương 1: Thông tin và biểu diễn thông tin 2. Biểu diễn dữ liệu trong máy tính Nội dung ❖ Biểu diễn số trong các hệ đếm ❖ Biểu diễn dữ liệu trong máy tính và đơn vị thông tin ❖ Biểu diễn số nguyên ❖ Biểu diễn số thực ❖ Biểu diễn ký tự 16-Aug-15 100
  101. Chương 1: Thông tin và biểu diễn thông tin 2. Biểu diễn dữ liệu trong máy tính → 2.4 Biểu diễn số thực Nguyên tắc chung • Số thực trong máy tính được biểu diễn thông qua ký pháp dấu phẩy động (Floating Point Number) • Một số thực V được biểu diễn theo ký pháp dấu phẩy động như sau: V = M *RE Trong đó: – R là cơ số (Radix) thường là 2 hoặc 10. – M là phần định trị (Mantissa) thỏa mãn –R < M < R – E là phần mũ (Exponent) • Nhận xét: – Nếu R cố định, để lưu trữ V chỉ cần lưu trữ M và E (dưới dạng số nguyên) 16-Aug-15 101
  102. Chương 1: Thông tin và biểu diễn thông tin 2. Biểu diễn dữ liệu trong máy tính → 2.4 Biểu diễn số thực Ví dụ Với cơ số R = 10 V= -52.5 = -5.2500x101 – Phần định trị: M = -5.2500 / Phần số mũ: E = 1 Ghi chú • Để chuẩn hóa, phần định trị luôn nằm trong khoảng (-R,R) và số đầu tiên là khác 0 (nếu được) – -52.5x100 và -0.5250x102 tương đương với -5.25x101 nhưng không phải số chuẩn hóa – Việc chuẩn hóa nhằm duy trì độ chính xác và biểu diễn các số rất lớn/bévà biểu diễn các số rất lớn/bé • 0.000162 biểu diễn với 4 chữ số thập phân 0.0001 • 9.999x109 = 9 999 000 000 16-Aug-15 • 0.001x10-9 = 0.000 000 000 001 103
  103. Chương 1: Thông tin và biểu diễn thông tin 2. Biểu diễn dữ liệu trong máy tính → 2.4 Biểu diễn số thực Phép toán với dấu phẩy động • Được tiến hành trên cơ sở các giá trị của phần định trị và phần mũ • R1 và R2 là số dấu phẩy động: E E – R1 = M1 xR và R2 = M2 xR 1 2 • Việc thực hiện các phép toán số học sẽ được tiến hành: E -E E – R1 ± R2 = (M1 x R ± M )x R , 1 2 2 2 – Giả thiết E1 ≥ E2 E +E – R1 x R2 = (M1x M2) x R 1 2 E -E – R1 /R2 = (M1 / M2) x R 1 2 16-Aug-15 103
  104. Chương 1: Thông tin và biểu diễn thông tin 2. Biểu diễn dữ liệu trong máy tính → 2.4 Biểu diễn số thực Chuẩn IEEE 754/85 • Là chuẩn mã hóa số dấu phẩy động • Cơ số R = 2 • 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 31 30 23 22 0 S e m Khuôn dạng mã hóa: 63 62 52 51 0 S e m 79 78 64 63 0 S e m 16-Aug-15 104
  105. Chương 1: Thông tin và biểu diễn thông tin 2. Biểu diễn dữ liệu trong máy tính → 2.4 Biểu diễn số thực Chuẩn IEEE 754/85 → Mã hóa • 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 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 • m là các bit phần lẻ của phần định trị M – Phần định trị được ngầm định: M = 1.m 16-Aug-15 105
  106. Chương 1: Thông tin và biểu diễn thông tin 2. Biểu diễn dữ liệu trong máy tính → 2.4 Biểu diễn số thực Chuẩn IEEE 754/85 → Mã hóa R = s e m R = (-1)S x 1.m x 2e-b 16-Aug-15 106
  107. Chương 1: Thông tin và biểu diễn thông tin 2. Biểu diễn dữ liệu trong máy tính → 2.4 Biểu diễn số thực Chuẩn IEEE 754/85 → Ví dụ 1 • Dạng biểu diễn nhị phân số thực R theo chuẩn IEEE 754 dạng 32 bit: 1100 0001 0101 0110 0000 0000 0000 0000 S = 1 → R là số âm – e = 1000 0010 = 130 • Số 32 bit: b = 127 E = 130 - 127 – m = 10101100 00 M=1.m – Vậy R = (-1)1 x 1.10101100 00 x 2130-127 = -1.101011 x 23 = -1101.011 = -13.375 16-Aug-15 107
  108. Chương 1: Thông tin và biểu diễn thông tin 2. Biểu diễn dữ liệu trong máy tính → 2.4 Biểu diễn số thực Chuẩn IEEE 754/85 → Ví dụ 2 R được biểu diễn: 0011 1111 1000 0000 0000 0000 0000 0000 – s = 0 → R là số dương – e = 0111 1111= 127 – m = 000000 00 – R = (-1)0 x 1.0000 00 x 2127-127 = 1.0 x 20 = 1 16-Aug-15 108
  109. Chương 1: Thông tin và biểu diễn thông tin 2. Biểu diễn dữ liệu trong máy tính → 2.4 Biểu diễn số thực Chuẩn IEEE 754/85 → Ví dụ 3 • Biểu diễn số thực R = 9.6875 về dạng số dấu chấm động theo chuẩn IEEE 754 dạng 32 bit 3 R = 9.6875(10) = 1001.1011(2) = 1.0011011 x2 Ta có: – R là số dương → s = 0 – E = 3, b = 127 (biểu diễn 32 bit) → e = 127 + 3 = 130(10) e = 1000 0010(2) – M = 1.0011011 → m = 001101100 00 (23 bit) Biểu diễn nhị phân của R: 0100 0001 0001 1011 0000 0000 0000 0000 16-Aug-15 109
  110. Chương 1: Thông tin và biểu diễn thông tin 2. Biểu diễn dữ liệu trong máy tính → 2.4 Biểu diễn số thực Các quy ước đặc biệt • Nếu tất cả các bit của e đều bằng 0 – Nếu các bit của m đều bằng 0, thì X = 0 – Phần định trị không cần chuẩn hóa (M  m) và E = 1 - b • 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 = – m có ít nhất một bit bằng 1 : không phải là số (not a number - NaN) Số thực dương bé nhất =? Số thực dương lớn nhất = ? 16-Aug-15 110
  111. Chương 1: Thông tin và biểu diễn thông tin 2. Biểu diễn dữ liệu trong máy tính → 2.4 Biểu diễn số thực Phạm vi biểu diễn • Dạng 32 bit: a ≈ 1.18x10-38 b ≈ 3.4x10+38 • Dạng 64 bit: a ≈ 2.2x10-308 b ≈ 1.79x10+308 • Dạng 80 bit: a ≈ 10-4932 b ≈ 10+4932 underflow overflow overflow − -b -a -0 +0 a b + 16-Aug-15 111
  112. Chương 1: Thông tin và biểu diễn thông tin 2. Biểu diễn dữ liệu trong máy tính → 2.4 Biểu diễn số thực Ghi chú • Khoảng cách giữa 2 số thực liên tiếp ? – Sai số máy (Machine epsilon) • Sai số làm tròn – 0.7 = ? • 0.1011001100 = 0.69921875 – 0.101100110011001100=0.69999980926 • 0.1011001101 = 0.700195312 16-Aug-15 112
  113. Chương 1: Thông tin và biểu diễn thông tin 2. Biểu diễn dữ liệu trong máy tính Nội dung ❖ Biểu diễn số trong các hệ đếm ❖ Biểu diễn dữ liệu trong máy tính và đơn vị thông tin ❖ Biểu diễn số nguyên ❖ Biểu diễn số thực ❖ Biểu diễn ký tự 16-Aug-15 113
  114. Chương 1: Thông tin và biểu diễn thông tin 2. Biểu diễn dữ liệu trong máy tính → 2.5 Biểu diễn ký tự Nguyên tắc chung • Các ký tự 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. Ví dụ: Bộ mã ASCII dùng 8 bit cho 1 ký tự. Bộ mã Unicode dùng 16 bit. ASCII: American Standard Codes for Information Interchangeable 16-Aug-15 114
  115. Chương 1: Thông tin và biểu diễn thông tin 2. Biểu diễn dữ liệu trong máy tính → 2.5 Biểu diễn ký tự Bộ mã ASCII • Do ANSI (American National Standard Institute) thiết kế • 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ừ 0016  FF16, bao gồm: – 128 kí tự chuẩn có mã từ 0016  7F16 – 128 kí tự mở rộng có mã từ 8016  FF16 16-Aug-15 115
  116. Chương 1: Thông tin và biểu diễn thông tin 2. Biểu diễn dữ liệu trong máy tính → 2.5 Biểu diễn ký tự 16-Aug-15 116
  117. Chương 1: Thông tin và biểu diễn thông tin 2. Biểu diễn dữ liệu trong máy tính → 2.5 Biểu diễn ký tự Bộ mã ASCII • 95 kí tự hiển thị được:có mã từ 20h ÷ 7Eh – 26 chữ cái Latin hoa 'A' ÷ 'Z‘, mã từ 41h ÷ 5Ah – 26 chữ cái Latin thường 'a' ÷ 'z‘, mã từ 61h ÷ 7Ah – 10 chữ số thập phân '0' ÷ '9‘, mã từ 30h ÷39h – 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à 20h) • 33 mã điều khiển: 00h ÷ 1Fh và7Fh – Điều khiển định dạng, phân cách thông tin 16-Aug-15 117
  118. Chương 1: Thông tin và biểu diễn thông tin 2. Biểu diễn dữ liệu trong máy tính → 2.5 Biểu diễn ký tự Các kí tự mở rộng của bảngASCII • Đượ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. 16-Aug-15 118
  119. Chương 1: Thông tin và biểu diễn thông tin 2. Biểu diễn dữ liệu trong máy tính → 2.5 Biểu diễn ký tự Bộ mã Unicode • Mã thống nhất/ mã đơn nhất – Do các hãng máy tính hàng đầu thiết kế • Bộ mã 16-bit: 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 16-Aug-15 119
  120. Chương 1: Thông tin và biểu diễn thông tin Bài tập trên lớp 1. Cho A= 11010b, B=0Ah. Hãy tính C=A*B 2. Hãy biểu diễn các số nguyên sau với 8 bit A= +58, B = -80 3. Cho A=2002d, B=010101111111b, C=ABCh. Hãy sắp xếp A, B, C theo thứ tự tăng dần 4. Đổi số nguyên có dấu, 2 byte -1234 sang hệ hệ hexadecimal 5. Giá trị 1234567 có thể là số trong hệ đếm nào: 2/8/10/16? 6. Đổi giá trị 0101o sang hệ thập phân và thập lục phân 7. Cho biết kết quả cácphép tính sau nếu chỉ dùng 8 bit để biểu diễn các giá trị dưới dạng số nguyên có dấu. 95 + 43 / - 95 – 43 8. Biểu diễn số 0.15625d dưới dạng chuẩn IEEE 754/85 16-Aug-15 120