611 likes | 1.21k Views
Chương 3: HỆ THỐNG SỐ ĐẾM Number Systems. Nội Dung. 1. 1. Giới thiệu 2. Biểu diễn thông tin trong máy tính điện tử 3. Chuyển một hệ thống số từ cơ số này sang cơ số khác 4. Câu hỏi và Bài tập. Giới thiệu. 2.
E N D
Chương 3: HỆ THỐNG SỐ ĐẾM Number Systems
Nội Dung 1 1. Giới thiệu 2. Biểu diễn thông tin trong máy tính điện tử 3. Chuyển một hệ thống số từ cơ số này sang cơ số khác 4. Câu hỏi và Bài tập
Giới thiệu 2 • Khái niệm: Hệ thống số đếm (hệ đếm) là 1 tập các ký hiệu, qui tắc được sử dụng để biểu diễn và tính toán các giá trị số. • Ví dụ: Số lượng sinh viên trong lớp, số lượng môn học của mỗi sinh viên, hoặc sử dụng các số để miêu tả điểm cho mội sinh viên…. • Phân loại: • Hệ đếm không theo vị trí của ký số (None–positional number system). • Hệ đếm theo vị trí của ký số (Positional number system):
Biểu diễn thông tin trong máy tính điện tử 3 • Hệ đếm không theo vị trí của ký số (None–positional number system): • Là hệ đếm mà trong đó giá trị số lượng của chữ số không phụ thuộc vào vị trí của nó đứng trong con số cụ thể • Hệ thống số La mã, sử dụng các ký hiệu, ví dụ: I , II , III , IIII, … • Khó thực hiện các phép toán trong hệ thống số. • Hệ đếm theo vị trí của ký số (Positional number system): • Hệ thống số Ả rập, chỉ sử dụng một vài ký hiệu số, ví dụ: 1, 2, 5, 12 , 21. • Hệ thập phân là một hệ đếm theo vị trí • Giá trị của số tùy thuộc vào: • − Giá trị của chính chữ số đó • − Vị trí của chữ số • Có cơ số của hệ thống số (cơ số=số chữ số trong hệ thống số, ví dụ: hệ 10 có 10 chữ số từ 0->9).
Biểu diễn thông tin trong máy tính điện tử 5 • Hệ đếm theo vị trí bao gồm: • Hệ đếm thập phân (Decimal system – b=10, cơ số 10) • Hệ đếm nhị phân (Binary system – b=2, cơ số 2) • Hệ đếm bát phân (Octal system - b=8 cơ số 8) • Hệ đếm thập lục phân (Hexa-decimal system - b=16, cơ số 16)
Hệ đếm thập phân (Decimal system) 8 • Là một trong các phát minh của người Ả Rập Cổ. • Là một hệ thống số được sử dụng trong đời sống hàng ngày. • Hệ đếm thập phân bao gồm 10 ký số từ 0 đến 9, ký hiệu : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. • Mỗi vị trí của ký số được xác định bằng lũy thừa của cơ số 10. • Ví dụ 1:
Hệ đếm thập phân (Decimal system) 9 Ví dụ 2: 123 123 = 1 * 102 + 2 * 101 + 3*100 = 100 + 20 + 3 Ví dụ 3: 5246 5246 = 5 * 103+ 2 *102+ 4 * 101+ 6 * 100 = 5 * 1000 + 2 * 100 + 4 * 10 + 6 * 1 = 5000 + 200 + 40 + 6 Ví dụ 4: 254.68 254.68 = 2 * 102+ 5 * 101+ 4 * 100+ 6 * 10-1+ 8 * 10-2
Hệ đếm nhị phân (Binary system) 10 • Là hệ đếm với cơ số b=2. • 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 (BInary digiT). • Hệ nhị phân dùng để biểu diễn thông tin trong máy tính. • Mỗi vị trí của ký số được xác định bằng lũy thừa của cơ số 2.
Hệ đếm nhị phân (Binary system) 11 Ví dụ 1: 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) Ví dụ 2: 10101(2) ? 10101(2) = 1x24+ 0x23+ 1x22+ 0x21+ 1x20 = 16 + 0 + 4 + 0 + 1 = 21(10)
Hệ đếm nhị phân (Binary system) 12 3-bit số nhị phân với giá trị thập phân tương ứng
Hệ đếm bát phân (Octal system) 13 • 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. • Khi chỉ có 8 số, dùng tập hợp 3 bit 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ụ 1: • 235.64(8) = 2x82 + 3x81 + 5x80+ 6x8-1+ 4x8-2 • = 157.8125(10) • Ví dụ 2: 2057(8) = ? 2057(8) = 2x83 + 0x82 + 5x81+ 7x80 = 1024 + 0 + 40 + 7 = 1071(10)
Hệ đếm bát phân (Octal system) 14 3-bit số nhị phân với giá trị thập phân, bát phân tương ứng
Hệ thập lục phân (Hexa-decimal system) 15 • 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 ký số từ 0 đến 9, và 6 chữ ký tự 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. • Mỗi vị trí của ký số được xác định bởi lũy thừa của cơ số 16. • Ví dụ: • 34F5C(16) = 3x164 + 4x163 + 15x162+ 5x161+ 12x160 • = 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.
Chuyển từ cơ số b (khác 10) sang hệ thập phân 17 Bước 1: Xác định giá trị vị trí của mỗi ký số từ phải sang trái. Bước 2: Nhân giá trị của ký số với lũy thừa của cơ số tại vị trí tương ứng. Bước 3: Tính tổng 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)
Chuyển từ cơ số b (khác 10) sang hệ thập phân 18 Bài tập 1: 1AC(16) = ?(10) Bài tập 2: 4052(7) = ?(10)
Chuyển một số nguyên từ hệ thập phân sang hệ cơ số b 19 • Tổng quát: • Lấy số nguyên thập phân N(10) lần lượt chia cho cơ số b cho đến khi thương số bằng 0. • Kết quả số chuyển đổi của N(b) là các số dư trong phép chia được 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)
Chuyển phần thập phân từ hệ thập phân sang hệ cơ số b 20 • Tổng quát: • Lấy phần thập phân của N(10) lần lượt nhân với cơ số 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)
Chuyển phần thập phân từ hệ thập phân sang hệ cơ số b 21 Bài tập: 0.375(10) = ?(2)
Chuyển từ cơ số khác 10 sang cơ số khác 10 22 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: Kết quả:545(6) = 209(10) = 3101(4)
Chuyển từ cơ số khác 10 sang cơ số khác 10 23 Ví dụ 2: 101110(2) = ? (8) Bước 1: Chuyển từ hệ 2 sang hệ 10 101110(2)= 1x25 + 0x24 + 1x23 +1x22 + 1x21 + 0x20 = 32 + 0 + 8 + 4 + 2 + 0 = 46(10) Bước 2: Chuyển 46(10) sang hệ 8 Kết quả:101110(2) = 46(10) = 56(8)
Chuyển từ cơ số khác 10 sang cơ số khác 10 24 Bài tập: 11010011(2) = ? (16)
Chuyển nhanh từ hệ nhị phân sang hệ bát phân 25 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 101(2) = 1 x 22 +0 x 21 +1 x 20 = 4 + 0 + 1 = 5(8) 110(2) = 1 x 22 +1 x 21 +0 x 20 = 4 +2+0 = 6(8) Kết quả: 101110(2) = 56(8)
Chuyển nhanh từ hệ nhị phân sang hệ bát phân 26 Bài tập 1: Chuyển 1101010(2) = ? (8) Bài tập 2: Chuyển 11010011(2) = ? (8)
Chuyển nhanh từ hệ bát phân sang hệ nhị phân 27 • 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 nhanh từ hệ bát phân sang hệ nhị phân 28 • Ví dụ 2: Chuyển 6751(8) = ? (2) • Bước 1: Chuyển mỗi số bát phân thành 3 số nhị phân • 6(8) = 110(2) • 7(8) = 111(2) • 5(8) = 101(2) • 1(8) = 001(2) • Bước 2: Kết nối các nhóm nhị phân. • 6751(8) = 110 111 101 001 • 6 7 5 1 • Kết quả: 6751(8) = 110111101001(2)
Chuyển nhanh từ hệ nhị phân sang hệ thập lục phân 29 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ụ 1: 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 1101(2) = 1x23 + 1x22 + 0x21 + 1x20 = 8 + 4 + 0 + 1 = 13(10) = D(16) 0011(2) = 0x23 + 0x22 + 1x21 + 1x20 = 0 + 0 +2+1 = 3(16) Kết quả: 11010011(2) = D3(16)
Chuyển nhanh từ hệ nhị phân sang hệ thập lục phân 30 Bài tập: Chuyển 10110101100(2) = ? (16)
Chuyển nhanh từ hệ thập lục phân thành hệ nhị phân 31 • 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 nhanh từ hệ thập lục phân thành hệ nhị phân 32 Bài tập: Chuyển ABC(16) = ? (2)
Phân số - Fractional Numbers 33 • 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 • an.bn+an-1.bn-1+an-2.bn-2+…+a1.b1+a0.b0+a-1.b-1+a-2.b-2+…+a-m.b-m
Phân số - Fractional Numbers 34 Ví dụ : Chuyển số 110.101(2) sang hệ 10 110.101(2) = 1 x 22 +1 x 21 +0 x 20 +1 x 2-1 + 0 x 2-2 +1 x 2-3 = 4 + 2 + 0 + 0.5 + 0 + 0.125 = 6 + 0.5 +0.125 = 6.625(10)
Câu hỏi và bài tập 35 Hãy đổi các số thập phân sau đây ra hệ nhị phân: 5, 9, 17, 27, 6625. Hãy đổi các số nhị phận sau đây ra hệ thập phân: 11, 111, 1001, 1101, 1011110. Hãy đổi các số nhị phân sau đây ra hệ 16: 11001110101, 1010111000101, 11110111011100110. Hãy đổi các số hệ 16 sau đây ra hệ nhị phân: 3F8, 35AF, A45 Hãy chuyển số 127.54(10) sang hệ 8. Hãy chuyển số 2B.C4(16) sang hệ 10