Bài giảng Nhập môn tin học - Chương 3: Hệ thống số (Number System Number System)

pdf 32 trang phuongnguyen 4730
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Nhập môn tin học - Chương 3: Hệ thống số (Number System Number System)", để 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:

  • pdfbai_giang_nhap_mon_tin_hoc_chuong_3_he_thong_so_number_syste.pdf

Nội dung text: Bài giảng Nhập môn tin học - Chương 3: Hệ thống số (Number System Number System)

  1. CHƯƠNG III HỆHỆ THỐNGTHỐNG SỐSỐ NUMBERNUMBER SYSTEMSYSTEM
  2. Nội Dung 1 ể ễ ệ ử ể ộ ệ ố ố ừ ơ ố ơ ố ỏ ậ
  3. Biểu diễn thông tin trong máy tính điện tử 2 • Biểu diễn số trong các hệ đếm • Hệ đếm thập phân (Decimal system, b=10) • Hệ đếm nhị phân (Binary system, b=2) • Hệ đếm bát phân (Octal system, b=8) • Hệ đếm thập lục phân (Hexa-decimal system, b=16)
  4. Biểu diễn số trong các hệ đếm 3 • Hệ đếm là 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ị các số. Mỗi hệ đếm có một số ký số (digits) hữu hạn. • Tổng số ký số của mỗi hệ đếm gọi là cơ số (base hay radix), ký hiệu là b. • Hệ đếm cơ số b (b ≥ 2, b là số nguyên dương) mang tính chất sau : • Có b ký số để thể hiện giá trị số. Ký số nhỏ nhất là 0 và lớn nhất là b-1. • Giá trị vị trí thứ n trong một số của hệ đếm bằng cơ số b lũy thừa n: bn • Số N(b) trong hệ đếm cơ số (b) được biểu diễn bởi: N(b)=anan-1an-2 a1a0a-1a-2 am trong đó, số N(b) có n+1 ký số biểu diễn cho phần nguyên và m ký số là biểu diễn cho phần b_phân, và có giá trị là: n n-1 n-2 1 0 -1 N(b)=an.b +an-1.b +an-2.b + +a1.b +a0.b +a-1.b -2 -m +a-2.b + +a-m.b
  5. Biểu diễn số trong các hệ đếm 3
  6. Biểu diễn số trong các hệ đếm 3
  7. Hệ đếm thập phân (Decimal system) 4 • Là một trong các phát minh của người Ả Rập Cổ, bao gồm 10 ký số theo ký hiệu sau: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 • Qui tắc tính giá trị của hệ đếm này là mỗi đơn vị ở một hàng bất kỳ có giá trị bằng 10 đơn vị của hàng kế cận bên phải.
  8. Hệ đếm thập phân (Decimal system) 4 Ví dụ 1: 123 = 1 * 102 + 2 * 101 + 3*100 5246 = 5 * 103+ 2 *102+ 4 * 101+ 6 * 100 = 5 * 1000 + 2 * 100 + 4 * 10 + 6 * 1 = 5000 + 200 + 40 + 6 Ví dụ 2: 254.68 = 2 * 102+ 5 * 101+ 4 * 100+ 6 * 10-1+ 8 * 10-2
  9. Hệ đếm nhị phân (Binary system) 5 • Là hệ đếm đơn giản nhất với 2 chữ số là 0 và 1. Mỗi chữ số nhị phân gọi là BIT.
  10. Hệ đếm nhị phân (Binary system) 5 Ví dụ: Số 11101.11(2) sẽ tương đương với giá trị thập phân là : Số nhị phân : 1 1 1 0 1. 1 1 Số vị trí : 4 3 2 1 0 -1 -2 Trị vị trí : 24 23 22 21 20 2-1 2-2 Hệ 10 là : 16 8 4 2 1 0.5 0.25 Như vậy: 11101.11(2) =1x16+1x8+1x4+0x2+1x1+1x0.5+1x0.25 = 29.75(10) 4 3 2 1 0 10101(2) = 1x2 + 0x2 + 1x2 + 0x2 + 1x2 = 16 + 0 + 4 + 0 + 1 = 21(10)
  11. Hệ đếm nhị phân (Binary system) 6 Hệ Nhị Phân Hệ Thập Phân 000 0 001 1 010 2 011 3 100 4 101 5 110 6 111 7
  12. Hệ đếm bát phân (Octal system) 7 • Là hệ đếm với b = 8 = 23. Trong hệ bát phân, trị vị trí là lũy thừa của 8. • Nếu dùng 1 tập hợp 3 bit thì có thể biểu diễn 8 trị khác nhau : 000, 001, 010, 011, 100, 101, 110, 111. Các trị này tương đương với 8 trị trong hệ thập phân là 0, 1, 2, 3, 4, 5, 6, 7. Ví dụ: 2 1 0 -1 -2 235.64(8) = 2x8 + 3x8 + 5x8 + 6x8 + 4x8 = 157.8125(10)
  13. Hệ đếm bát phân (Octal system) 7
  14. Hệ thập lục phân (Hexa-decimal system) 8 • Hệ đếm thập lục phân là hệ cơ sơ b=16 = 24, tương đương với tập hợp 4 chữ số nhị phân (4 bit). • Khi thể hiện ở dạng hexa-decimal, ta có 16 ký tự gồm 10 chữ số từ 0 đến 9, và 6 chữ in A, B, C, D, E, F để biểu diễn các giá trị số tương ứng là 10, 11, 12, 13, 14, 15. Với hệ thập lục phân, trị vị trí là lũy thừa của 16. Ví dụ: 4 3 2 1 0 34F5C(16) = 3x16 + 4x16 + 15x16 + 5x16 + 12x16 = 216294(10) Ghi chú: một số ngôn ngữ lập trình qui định viết số hexa phải có chữ H ở cuối chữ số. Ví dụ: Số 15 viết là FH.
  15. Hệ thập lục phân (Hexa-decimal system) 8
  16. Chuyển từ cơ số b (khác 10) sang hệ thập phân 10 Bước 1: Xác định giá trị vị trí của mỗi ký số Bước 2: Nhân giá trị vị trí với ký số của cột tương ứng. Bước 3: Cộng kết quả của các phép tính nhân trong bước 2. Tổng cuối cùng sẽ là giá trị của hệ thập phân. Ví dụ 1: 11001(2) = ?(10) = 1x24 + 1x23 +0x22 + 0x21 + 1x20 =16 + 8 + 0 + 0 +1 = 25(10) Ví dụ 2: 4706(8) = ?(10) = 4x83 + 7x82 + 0x81 + 6x80 = 2048 + 448 + 0 + 6 = 2502 Kết quả: 4706(8) = 2502(10)
  17. Chuyển từ cơ số b (khác 10) sang hệ thập phân 11 Ví dụ 3: 1AC(16) = ?(10) Giải 1AC(16) = 1x162 + Ax161 + Cx160 = 1x256 + 10x16 + 12x1 = 256 + 160 +12 = 428 Kết quả: 1AC(16) = 428(10) Ví dụ 4: 4052(7) = ?(10) Giải 4052(7) = 4x73 + 0x72 + 5x71 + 2x70 = 1372 + 0 + 35 + 2 = 1409 Kết quả: 4052(7) = 1409(10)
  18. Chuyển từ cơ số b (khác 10) sang hệ thập phân 11 Bài tập 12. Convert the following numbers to decimal numbers: a) 1101102 c) 2A3B16 b) 25736 d) 12349
  19. Chuyển một số nguyên từ hệ thập phân sang hệ cơ số b 12 Tổng quát: • Lấy số nguyên thập phân N(10) lần lượt chia cho b cho đến khi thương số bằng 0. • Kết quả số chuyển đổi N(b) là các dư số trong phép chia viết ra theo thứ tự ngược lại. Ví dụ: Số 12(10) = ?(2). Dùng phép chia cho 2 liên tiếp, ta có một loạt các số dư như Kết quả: 1210 = 1100(2)
  20. Chuyển một số nguyên từ hệ thập phân sang hệ cơ số b 11 Bài tập 13. Convert the following decimal numbers to binary numbers: a) 43510 c) 3210 b) 169410 d) 13510 14. Convert the decimal numbers of question 13 to octal numbers 15. Convert the decimal numbers of question 13 to hexadecimal numbers
  21. Chuyển phần thập phân từ hệ thập phân sang hệ cơ số b 13 Tổng quát: • Lấy phần thập phân N(10) lần lượt nhân với b cho đến khi phần thập phân của tích số bằng 0. • Kết quả số chuyển đổi N(b) là các số phần nguyên trong phép nhân viết ra theo thứ tự tính toán. Ví dụ : 0. 6875(10) = ? (2) 0. 6875 * 2 = 1 . 375 0. 375 * 2 = 0 . 75 0. 75 * 2 = 1 . 5 0. 5 * 2 = 1 . 0 Kết quả: 0.6875 (10) = 0.1011(2) Bài tập: 456.375(10) = ?(2) Kết quả: 1210 = 1100(2)
  22. Chuyển từ cơ số khác 10 sang cơ số khác 10 14 Bước 1: Chuyển số gốc sang hệ thập phân (hệ 10). Bước 2: Chuyển số hệ thập phân thu được sang cơ số mới. Ví dụ 1: 545(6) = ? (4) Bước 1: Chuyển từ hệ 6 sang hệ 10 545 = 5 x 62 +4 x 61 +5 x 60 = 5 x 36 +4 x 6 +5 x 1 = 180 + 24 +5 = 209(10) Bước 2: Chuyển 209(10) sang hệ 4 101110(2) = ? (8) Kết quả: 545(6) = 209(10) = 3101(4) 11010011(2) = ? (16)
  23. Chuyển một số nguyên từ hệ thập phân sang hệ cơ số b 11 Bài tập 16. Carry out the following conversions: a) 1256 = ?4 b) 249 = ? 3 c) ABC16 = ?8
  24. Chuyển nhanh từ hệ nhị phân sang hệ bát phân 15 Bước 1: Chia số nhị phân thành các nhóm, mỗi nhóm gồm ba chữ số (bắt đầu từ phải qua). Bước 2: Chuyển mỗi nhóm 3 chữ số thành 1 số hệ bát phân. Ví dụ: Chuyển 101110(2) = ? (8) Bước 1: Chia số nhị phân thành các nhóm 101 và 110 Bước 2: Chuyển mỗi nhóm thành một số bát phân 2 1 0 101(2) = 1 x 2 +0 x 2 +1 x 2 = 4 + 0 + 1 = 5(8) 2 1 0 110(2) = 1 x 2 +1 x 2 +0 x 2 = 4 +2+0 = 6 (8) 1101010(2) = ?(8) Kết quả: 101110 = 56 (2) (8) 11010011(2) = ? (8)
  25. Chuyển nhanh từ hệ bát phân sang hệ nhị phân 16 Bước 1: Chuyển mỗi số bát phân thành 3 số nhị phân. Bước 2: Kết nối tất cả các nhóm nhị phân (mỗi nhóm có 3 số) thành một số nhị phân. Ví dụ 1: Chuyển 562(8) = ? (2) Bước 1: Chuyển mỗi số bát phân thành 3 số nhị phân 5(8) = 101(2) 6(8) = 110(2) 2(8) = 010(2) Bước 2: Kết nối các nhóm nhị phân. 562(8) = 101 110 010 5 6 2 Kết quả 562(8) = 101110010(2) Chuyển 6751(8) = ? (2)
  26. Chuyển nhanh từ hệ nhị phân sang hệ thập lục phân 17 Bước 1: Chia số nhị phân thành các nhóm có bốn chữ số. Bước 2: Chuyển mỗi nhóm 4 chữ số thành 1 số hệ thập lục phân. Ví dụ: Chuyển 11010011(2) = ? (16) Bước 1: Chia số nhị phân thành các nhóm bốn chữ số. 1101 0011 Bước 2: Chuyển mỗi nhóm 4 số nhị phân thành một số thập lục phân 3 2 1 0 1101(2) = 1 x 2 + 1 x 2 +0 x 2 +1 x 2 = 8 + 4 + 0 + 1 = 13(10) = D(16) 3 2 1 0 0011(2) = 0 x 2 +0 x 2 +1 x 2 +0 x 2 = 0 + 0 +2+1 = 3(16) Kết quả: 11010011(2) = D3(16) Chuyển 10110101100(2) = ?(16)
  27. Chuyển nhanh từ hệ thập lục phân thành hệ nhị phân 18 • Bước 1: Chuyển mỗi ký số thập lục phân sang số thập phân, mỗi số thập phân chuyển thành số nhị phân gồm 4 ký số. • Bước 2: Kết nối tất cả các nhóm nhị phân (mỗi nhóm có 4 số) thành một số nhị phân. Ví dụ 1: Chuyển 2AB(16) = ? (2) Bước 1: 2(16) = 2(10) = 0010(2) A(16) = 10(10) = 1010(2) B(16) = 11(10) = 1011(2) Bước 2: Kết nối các nhóm nhị phân. 2AB(16) = 0010 1010 1011 2 A B Kết quả 2AB(16) = 001010101011(2) Chuyển ABC(16) = ? (2)
  28. Phân số - Fractional Numbers 19 • Trong hệ thống nhị phân, các phần thập phân được định dạng theo cách chung như hệ thống số thập phân. • Ví dụ, trong hệ thống số thập phân 0.235 = (2 x 10-1) + (3 x 10-2) + 5 x 10-3) Và 68.53 = (6 x 101) + (8 x 100) + (5 x 10-1) +(3 x 10-2) Tương tự, trong hệ thống số nhị phân 0.101 = (1 x 2-1) + (0 x 2-2) + (1 x 2-3) Và 10.01 = (1 x 21) + (0 x 2-1) + (1 x 2-2) Tổng quát, một số trong hệ thống số với cơ số b được viết như: anan-1an-2 a1a0a-1a-2 am và có thể được thông dịch thành n n-1 n-2 1 0 -1 -2 -m an.b +an-1.b +an-2.b + +a1.b +a0.b +a-1.b +a-2.b + +a-m.b
  29. Phân số 20 Ví dụ : Chuyển số 110.101(2) sang hệ 10 2 1 0 -1 -2 -3 110.101(2) = 1 x 2 +1 x 2 +0 x 2 +1 x 2 + 0 x 2 +1 x 2 = 4 + 2 + 0 + 0.5 + 0 + 0.125 = 6 + 0.5 +0.125 = 6.625(10) Bài tập Chuyển số 127.54(10) sang hệ 8 Chuyển số 2B.C4(16) sang hệ 10
  30. Câu Hỏi và Bài Tập 21 1.Cơ số của một hệ thống số có nghĩa là gì? Cho ví dụ minh họa vai trò của cơ số trong hệ thống số. 2.Giá trị của các cơ số thập phân, thập lục phân, nhị phân và bát phân là gì? 3.Tìm các số thập phân tương đương với các số nhị phân sau: 1101011 11010 10110011 11011101 1110101 1000 10110001100 1010101100 110001 111 4. Tìm các số bát phân tương đương các số nhị phân của câu 3. 5. Tìm các số thập lục phân tương đương các số nhị phân của câu 3
  31. Câu Hỏi và Bài Tập 22 6. Chuyển các số sau sang hệ thập phân 110110(2) 2573(6) 2A3B(16) 1234(9) 7. Chuyển các số hệ thập phân sang hệ nhị phân 435(10) 1694(10) 32(10) 135(10) 8. Chuyển các số thập phân trong câu 7 sang hệ bát phân. 9. Chuyển các số thập phân trong câu 7 sang hệ thập lục phân. 10. Tìm kết quả của các chuyển đổi sau: 126(6) = ?(4) 24(9) = ?(3) ABC(16) = ?(8) 135(10) = ?(2)
  32. Câu Hỏi và Bài Tập 23 11. Chuyển các số sau sang hệ nhị phân 2AC(16) FAB(16) 2614(8) 562(8) 12. Tìm các số thập phân của các số sau: 111.01(2) 1001.011(2) 247.65(8) A2B.D4(16)