Chương 1: HỆ THỐNG SỐ 1.1 MỤC TIÊU CỦA CHƯƠNG Trong chương này, chúng ta khảo sát các hệ số thường dùng và cách chuyển đổi qua lại giữa các hệ số này. Ngoài ra, vấn đề số có dấu và không có dấu cũng được trình bày. Chương này cung cấp các kiến thức cơ bản phục vụ cho các chương sau. Cho nên, sinh viên phải thực hiện lại được các ví dụ và bài tập.
Từ đó, tự cho mình các ví dụ, bài tập tương tự và giải chúng để tự khám phá tri thức.2 HỆ THỐNG SỐ Hệ thống số thường dùng gồm có 4 hệ cơ bản sau: - Hệ nhị phân: Bin (cơ số 2) - Binary: Hệ này dùng 2 phân số 0, 1 để biểu diễn. Khi viết số nhị phân, thường viết kèm theo cơ số 2 của nó. Ví dụ: 1012; 11002 - Hệ bát phân: Oct (cơ số 8) - Octal: Hệ này dùng 8 phân số: 0, 1, 2, 3, 4, 5, 6 và 7 để biểu diễn. Khi viết số bát phân, thường viết kèm theo cơ số 8 của nó.
Ví dụ: 1018; 568 - Hệ thập phân: Dec (cơ số 10) - Decimal: Hệ này dùng 10 phân số: 0, 1, 2, 3, 4, 5, 6, 7, 8 và 9 để biểu diễn. Khi viết số thập phân, thường viết kèm theo cơ số 10 của nó. Ví dụ: 11010; 5610 - Hệ thập lục phân: Hex (cơ số 16) - Hexa Decimal: Hệ này dùng 16 phân số: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E và F để biểu diễn. Khi viết số thập lục phân, thường viết kèm theo cơ số 16 của nó.
Ví dụ: 1A16; F016 Trong kỹ thuật số, hệ nhị phân và hệ thập lục phân được sử dụng phổ biến. Biên soạn: ThS. Ngô Sỹ - ThS. Đỗ Đắc Thiểm 10 Bài Giảng Điện Tử Số 1.3 SỐ NHỊ PHÂN 1.1 Khái niệm Số nhị phân được dùng để mã hóa các số thập phân nhằm đáp ứng cho các mạch điện tử sử dụng kỹ thuật tín hiệu số.
Trong hệ thống số, mỗi một con số đều mang một “trọng số” của nó. Trọng số này nói lên giá trị của con số đó trong một chữ số. Số nhị phân cũng được xác định theo cách này. Với một số nhị phân 8 bit là B7 B6 B5 B4 B3 B2 B1 B0 thì bit thứ 8 (B7) là bit có ý nghĩa (trọng số) lớn nhất, được gọi là MSB (Most Significant Bit) và ý nghĩa của các bit còn lại giảm dần đến B0.
Bit B0 là bit có ý nghĩa (trọng số) thấp nhất được gọi là LSB (Less Significant Bit). Trọng số bit được biểu diễn bởi vị trí bit trong số nhị phân đó, nó được tăng dần từ phải sang trái. Bảng 1-1 cho ví dụ về vị trí và trọng số bit của 1 ký số nhị phân. Bảng 1-1: Trọng số bit của số nhị phân Vị trí bit 10 9 8 7 6 5 4 3 2 1 0 Trọng số bit 210 29 28 27 26 25 24 23 22 21 20 Giá trị Dec 1024 512 256 128 64 32 16 8 4 2 1 1.2 Mã hóa từ thập phân sang nhị phân (X10 → X2) Phương pháp: Ta lấy số thập phân cần đổi chia cho 2 (2 là cơ số của số nhị phân) và lưu lại số dư.
Đến khi thương số bằng không thì dừng lại, số dư được lấy ngược từ dưới lên chính là số nhị phân cần chuyển đổi. Ví dụ: Mã hoá số 3710 sang số nhị phân Ta thực hiện như sau: 37 : 2 = 18 dư 1 Biên soạn: ThS. Ngô Sỹ - ThS. Đỗ Đắc Thiểm 11 Bài Giảng Điện Tử Số 18 : 2 = 9 dư 0 9 : 2 = 4 dư 1 4 : 2 = 2 dư 0 2 : 2 = 1 dư 0 1: 2 = 0 dư 1 Vậy: 3710 = 1001012 Ta có thể thực hiện việc mã hóa trên dựa vào giá trị trọng số bit của số đó.
Ví dụ: Mã hoá số 3710 sang số nhị phân 64 32 16 8 4 2 1 1 0 0 1 0 1 37 5 1 -32 -4 -1 05 1 0 Kết quả: 3710 = 1001012 Bài tập Đổi các số thập phân sau đây ra số nhị phân: 1. 48310 → X2 Biên soạn: ThS. Ngô Sỹ - ThS. Đỗ Đắc Thiểm 12 Bài Giảng Điện Tử Số 1.3 Giải mã từ nhị phân sang thập phân (X2 →X10) Phương pháp: Lấy tổng các số hạng, trong đó mỗi số hạng là từng chữ số nhân với 2 mũ trọng số của chính chữ số đó.
Dựa vào bảng trên ta có thể đổi một số nhị phân bất kỳ thành số thập phân tương ứng. Ví dụ: 101101012 = X10 Ta sẽ đổi từng bit nhị phân ứng với trọng số của nó ra số thập phân. Như vậy số thập phân tương ứng với số nhị phân 101101012 là: 1*27 + 0*26 + 1*25 + 1*24 + 0*23 + 1*22 + 0*21 + 1*20 = 128 + 0 + 32 + 16 + 0 + 4 + 0 + 1 = 18110 Bài tập Đổi các số nhị phân sau đây ra thập phân: 1.4 SỐ THẬP LỤC PHÂN 1.1 Khái niệm Hệ thập lục phân được dùng khá rộng rãi trong hệ thống vi xử lý. Nó dùng hai ký số để biểu diễn bởi 8 bit, mỗi một nhóm 4 bit cho một kí số.
Các kí số biểu diễn trong hệ thập lục phân được biểu diễn bởi 0-9 và A-F, 16 kí số này thể hiện được một hệ đếm cơ số 16. Bảng dưới đây thể hiện mối quan hệ giữa các hệ đếm: thập phân, nhị phân, thập lục phân. Biên soạn: ThS. Ngô Sỹ - ThS.
Đỗ Đắc Thiểm 13 Bài Giảng Điện Tử Số Bảng 1-2: Bảng chuyển đổi giữa các hệ đếm Số thập phân Số nhị phân Số bát phân Số thập lục phân 0 0000 00 0 1 0001 01 1 2 0010 02 2 3 0011 03 3 4 0100 04 4 5 0101 05 5 6 0110 06 6 7 0111 07 7 8 1000 10 8 9 1001 11 9 10 1010 12 A 11 1011 13 B 12 1100 14 C 13 1101 15 D 14 1110 16 E 15 1111 17 F Một nhóm 8 bit theo trình tự được mã hóa như sau: cứ 1 nhóm 4 bit (tính từ bit có trọng số thấp nhất trở đi) thành 1 ký số của số thập lục phân, tương tự như vậy cho 1 ký số tiếp theo. Đối với số bát phân thì một nhóm 3 bit sẽ thành 1 ký số. Ví dụ: Biểu diễn số nhị phân 8 bit 010110102 sang thập lục phân Ta có: 0101 10102 = 5A16 Như vậy, số nhị phân 8 bit 010110102 được biểu diễn sang thập lục phân là 5A16. Biên soạn: ThS.
Ngô Sỹ - ThS. Đỗ Đắc Thiểm 14 Bài Giảng Điện Tử Số 1.2 Chuyển đổi từ thập phân sang thập lục phân Phương pháp: Ta lấy số thập phân cần đổi chia cho 16 (16 là cơ số của số thập lục phân) và lưu lại số dư. Đến khi thương số bằng không thì dừng lại, số dư được lấy ngược từ dưới lên thì chính là số thập lục phân cần chuyển đổi. Ví dụ: Chuyển đổi số 201010 sang thập lục phân 2010 : 16 = 125 dư 10 = A 125 : 16 = 7 dư 13 = D 7: 16 = 0 dư 7 Vậy: 201010 = 7DA16 Ngoài ra, sẽ có những phương pháp chuyển đổi hữu hiệu hơn là dựa vào bảng chuyển đổi ở trên.
Ví dụ: Chuyển đổi số 7810 sang thập lục phân. Bước 1: Chuyển 7810 sang nhị phân: 7810 =10011102 Bước 2: Chuyển nhị phân sang thập lục phân : 10011102 = 4E16 Kết quả: 7810 = 4E16. Bài tập Đổi các số thập phân sau sang số thập lục phân: 1. 2110 → X16 Biên soạn: ThS.
Ngô Sỹ - ThS. Đỗ Đắc Thiểm 15 Bài Giảng Điện Tử Số 1.3 Chuyển đổi từ thập lục phân sang thập phân Phương pháp: Lấy tổng các số hạng, trong đó mỗi số hạng là từng chữ số nhân với 16 mũ trọng số của chính chữ số đó. Ví dụ: Chuyển đổi số thập lục phân 10D16 sang số thập phân. 10D16 = 1*162 + 0*161 + 12*160 = 256 + 0 + 12 = 26710 Ngoài ra, ta có thể sử dụng những phương pháp chuyển đổi khác là dựa vào bảng chuyển đổi ở trên.
Sau đây, lấy một ví dụ minh hoạ cho cách chuyển đổi dựa vào bảng này như sau: Chuyển đổi 1A016 sang số thập phân Bước 1: Chuyển đổi từ thập lục phân sang nhị phân 1A016 = 0001.00002 Bước 2: Chuyển đổi từ nhị phân sang thập phân 0001101000002 = 256 + 128 + 32 = 41610 Bài tập Chuyển đổi các số thập lục phân sau về thập phân: 1.1 Khái niệm Đây là hệ đếm ít thông dụng hơn, người ta dùng 8 ký tự số để biểu diễn một số: 0, 1, 2, …. Như vậy, một số ở hệ bát phân thì không có ký tự số lớn hơn 7. Biên soạn: ThS. Ngô Sỹ - ThS.
Đỗ Đắc Thiểm 16 Bài Giảng Điện Tử Số 1.2 Cách đổi từ thập phân sang bát phân Phương pháp: Tương tự cách đổi từ thập phân sang nhị phân, từ thập phân sang thập lục phân: ta lấy số thập phân cần đổi chia cho 8 và lưu lại số dư. Đến khi thương số bằng không thì dừng lại, số dư được lấy ngược từ dưới lên thì chính là số bát phân cần chuyển đổi. Ví dụ: Đổi số thập phân 9810 thành bát phân.3 Cách đổi từ bát phân sang thập phân Phương pháp: Tương tự như cách đổi nhị phân sang thập phân, thập lục phân sang thập phân. Các số bát phân cũng có các trọng số của nó.
Chúng ta lấy tổng các số hạng, trong đó mỗi số hạng là từng chữ số nhân với 8 mũ trọng số của chính chữ số đó. Ví dụ: Đổi số 258 thành thập phân 258 = 2* 81 + 5* 80 = 2110 Như vậy: 258 = 2110 Bài tập Chuyển đổi các số bát phân sau về thập phân: 1. 718 → X10 Biên soạn: ThS. Ngô Sỹ - ThS.
Đỗ Đắc Thiểm 17 Bài Giảng Điện Tử Số 1.6 TRƯỜNG HỢP SỐ CHUYỂN ĐỔI KHÔNG LÀ SỐ NGUYÊN 1.1 Mã hóa từ thập phân sang nhị phân Khi gặp những trường hợp này thì phần nguyên của số ta tiến hành tương tự như trên. Phần thập phân giải quyết bằng cách: lấy phần thập phân lần lượt nhân cho 2, đến khi nào phần thập phân bằng 0 thì kết thúc. Ví dụ: chuyển đổi số 22,37510 sang số nhị phân Phần nguyên: 2210 = 101102 Phần thập phân: 0,375 x 2 = 0,75 = nhớ 0 0,75 x 2 = 1,5 = 0,5 nhớ 1 0,5 x 2 = 1,0 = 0,0 nhớ 1 Vậy: 22,37510 = 10110,0112 1.2 Giải mã từ nhị phân sang thập phân Tương tự như cách đổi trên, ta sẽ đổi từng bit nhị phân ứng với trọng số của nó ra thập phân.