Bài giảng Kỹ thuật số Chương 1: Các hệ thống mã và số cung cấp cho người học các kiến thức: Nguyên lý của việc viết số, các hệ thống số, biến đổi qua lại giữa các hệ thống số, các phép toán số nhị phân, mã hóa. Mời các bạn cùng tham khảo.
CHƢƠNG CÁC HỆ THỐNG SỐ & MÃ NGUYÊN LÝ CỦA VIỆC VIẾT SỐ CÁC HỆ THỐNG SỐ BIẾN ĐỔI QUA LẠI GIỮA CÁC HỆ THỐNG SỐ CÁC PHÉP TỐN SỐ NHỊ PHÂN MÃ HĨA Chương 1: Các hệ thống số & Mã NGUYÊN LÝ CỦA VIỆC VIẾT SỐ - Một số viết cách đặt kề ký hiệu tập hợp xác định Thí dụ: S10 = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} - Giá trị số mã tùy thuộc vào vị trí số Giá trị gọi trọng số số mã Thí dụ: 199810 = 1x103 + 9x102 + 9x101 + 8x100 = 1000 + 900 + 90 + Ta thấy hệ 10, với ký hiệu giống nhau, ký hiệu đứng trước có trọng số gấp 10 lần ký hiệu đứng sau Chương 1: Các hệ thống số & Mã Tổng quát: Một hệ thống số b gồm b ký hiệu tập hợp: Sb = {S0, S1, S2, , Sb-1} Một số N viết: N = (anan-1an-2 .ai .a0,a-1a-2 .a-m)b với Sb Có giá trị: N = anbn + an-1bn-1 + an-2bn-2 + + aibi + + + a0b0 + a-1b-1 + a-2b-2 + + a-mb-m N n i a b i i m aibi trọng số ký hiệu Sb vị trí thứ i Chương 1: Các hệ thống số & Mã CÁC HỆ THỐNG SỐ Hệ số 10 (Thập phân – Decimal system) Tập hợp hệ 10: S10 = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} Số N viết: N = (anan-1an-2 .ai .a0,a-1a-2 .a-m)10 với S10 Có giá trị: N = an10n + an-110n-1 + an-210n-2 + + ai10i + + + a0100 + a-110-1 + a-210-2 + + a-m10-m Chương 1: Các hệ thống số & Mã Hệ số (Nhị phân – Binary system) Tập hợp hệ 2: S2 = {0, 1} Mỗi số mã số nhị phân gọi bit (viết tắt binary digit) Số N viết: N = (anan-1an-2 .ai .a0,a-1a-2 .a-m)2 với S2 Có giá trị: N = an2n + an-12n-1 + an-22n-2 + + ai2i + + + a020 + a-12-1 + a-22-2 + + a-m2-m Chương 1: Các hệ thống số & Mã Hệ số (Bát phân – Octal system) Tập hợp hệ 8: S8 = {0, 1, 2, 3, 4, 5, 6, 7} Số N viết: N = (anan-1an-2 .ai .a0,a-1a-2 .a-m)8 với S8 Có giá trị: N = an8n + an-18n-1 + an-28n-2 + + ai8i + + + a080 + a-18-1 + a-28-2 + + a-m8-m Chương 1: Các hệ thống số & Mã Hệ số 16 (Thập lục phân – Hexadecimal system) Tập hợp hệ 16: S2 = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F} (trong A = 1010, B = 1110, , F = 1510) Số N viết: N = (anan-1an-2 .ai .a0,a-1a-2 .a-m)16 với S16 Có giá trị: N = an16n + an-116n-1 + an-216n-2 + + ai16i + + + a0160 + a-116-1 + a-216-2 + + a-m16-m Người ta thường dùng chữ H (h) để số thập lục phân Chương 1: Các hệ thống số & Mã BIẾN ĐỔI QUA LẠI GIỮA CÁC HỆ THỐNG SỐ Xác định giá trị tương đương số hệ so với hệ thống khác Đổi số từ hệ b sang hệ 10 Một số N hệ b viết: N = (anan-1an-2 .ai .a0,a-1a-2 .a-m)b với Sb Có giá trị tương đương hệ 10: N = anbn + an-1bn-1 + an-2bn-2 + + aibi + + + a0b0 + a-1b-1 + a-2b-2 + + a-mb-m Lấy trị số số nhân với giá trị vị trí tương ứng, sau lấy tổng tất Chương 1: Các hệ thống số & Mã VÍ DỤ Đổi sang hệ số 10 (hệ thập phân) • 1010,112 = 1x23+0x22+1x21+0x20+1x2-1+1x2-2=10,7510 • 1C516 • 2F16 = 1x162+12x161+5x160=256+192+5=45310 =2x161+15x160=32+15 = 4710 Chương 1: Các hệ thống số & Mã Đổi số từ hệ 10 sang hệ b Một số N hệ 10, viết sang hệ b có dạng: N = (anan-1an-2 .ai .a0,a-1a-2 .a-m)b = (anan-1 .a0)b + (0,a-1a-2 .a-m)b Trong đó: (anan-1 .a0)b = phần nguyên N (0,a-1a-2 .a-m)b = phần lẻ N biến đổi theo cách khác Chương 1: Các hệ thống số & Mã 10 Phần lẻ: Dùng phép nhân lập cho số b -Lấy phần lẻ nhân cho số b ta tích số, phần nguyên phép nhân thứ số mã có trọng số lớn phần lẻ (a-1) -Tiếp tục lấy phần lẻ phép nhân đem nhân với số b kết có phần lẻ khơng dừng phép nhân Ta tìm dãy số (a-1a-2 .a-m) Chú ý: Có thể ta khơng tìm số hệ b có giá trị phần lẻ số thập phân (do kết phép nhân ln khác 0), tùy theo u cầu độ xác mà ta lấy số số hạng định Chương 1: Các hệ thống số & Mã 12 Ví dụ Từ thập phân sang nhị phân , 625 :2 = :2 = :2 = :2= dư (LSB) dư dư 0 dư 1 0 , 1 0.625 x = 1,25 phần nguyên (MSB) 0.25 x = 0,5 phần nguyên 0.5 x = 1,0 phần nguyên Chương 1: Các hệ thống số & Mã 13 Ví dụ Từ thập phân sang nhị phân 12 , 625 12 : = dư (LSB) : = dư : = dư 1 : = dư 1 0 , 1 0.625 x = 1,25 phần nguyên (MSB) 0.25 x = 0,5 phần nguyên 0.5 x = 1,0 phần nguyên Chương 1: Các hệ thống số & Mã 14 Từ thập phân sang thập lục phân: 1480,429687 1480 : 16 = 92 dö 92 : 16 = dö : 16 = dö (LSD) 12 5 C , E H 0.4296875 x 16 = 6,875 phần nguyên (MSD) 0.875 x 16 = 14,0 phần nguyên 14 Chương 1: Các hệ thống số & Mã 15 Đổi số từ hệ thập lục phân (Hex) sang nhị phân ngƣợc lại Nhận xét: Mỗi số số Hex tương ưng với số bit số nhị phân Thay số hạng số hệ thập lục phân số bit số nhị phân Ngƣợc lại: Từ dấu phẩy nhị phân hai phía, nhóm bit lại, giá trị số bit số hạng hệ thập lục phân (nếu cần: phải thêm số vào nhóm đầu cuối mà không làm thay đổi giá trị số cho) Chương 1: Các hệ thống số & Mã 16 Vi dụ: Từ nhị phân sang thập lục phân: 0 1 1 1 1 1 , 1 10 B D , A H Ví dụ: Từ thập lục phân sang nhị phân: C , E 0 1 0 0 , 1 1 0 (B) Chương 1: Các hệ thống số & Mã 17 Đổi số từ hệ bát phân sang nhị phân ngƣợc lại Nhận xét: Mỗi số số bát phân tương ưng với số bit số nhị phân Thay số hạng số hệ bát phân số bit số nhị phân Ngƣợc lại: Từ dấu phẩy nhị phân hai phía, nhóm bit lại, giá trị số bit số hạng hệ bat phân (nếu cần: phải thêm số vào nhóm đầu cuối mà không làm thay đổi giá trị số cho) Chương 1: Các hệ thống số & Mã 18 Ví dụ: Từ nhị phân sang bát phân 1 1 1 1 1 , 1 10001 (3 )8 5 , Ví dụ: Từ bát phân sanh nhị phân , (0 1 1 1 , 1 1 0)2 Chương 1: Các hệ thống số & Mã 19 Đổi số từ hệ bát phân sang hệ thập lục phân ngƣợc lại Dùng số nhị phân làm trung gian VD: (1234,67)8 = 001 0010 0011 0100 , 011 111 00 = (1234,7C)16 VD: (ABCD,EF) = 00 1010 1011 1100 1101 , 1110 1111 = (125715,736)8 Chương 1: Các hệ thống số & Mã 20 Bảng kết chuyển đổi Thập phân Nhị phân Bát phân 0000 0001 0010 0011 0100 0101 0110 0111 Thập Thập lục phân phân 10 11 12 13 14 15 Chương 1: Các hệ thống số & Mã Nhị phân Bát phân Thập lục phân 1000 1001 1010 1011 1100 1101 1110 1111 10 11 12 13 14 15 16 17 A B C D E F 21 CÁC PHÉP TÍNH TRONG HỆ NHỊ PHÂN Phép cộng 0+0=0 0+1=1 1+0=1 + = (nhớ 1) Phép trừ 0–0=0 1–1=0 1–0=1 – = (nhớ 1) Phép nhân 0x0=0 0x1=0 1x0=0 1x1=1 Chương 1: Các hệ thống số & Mã Phép chia Thực giống phép chia số thập phân 22 MÃ HĨA - Mã hóa phép áp đối tượng từ tập hợp nguồn tập hợp đích - Tập hợp nguồn tập số, tập ký tự, - Tập hợp đích thường tập chứa tổ hợp số nhị phân - Tổ hợp số nhị phân tương ứng với số gọi từ mã Tập hợp từ mã cho ta mã (mã ASCII, mã Baudot, mã dò lỗi, mã sửa lỗi, mật mã ) - Ngược lại với mã hóa giải mã - Biểu diễn số hệ khác hình thức mã hóa, việc chuyển từ mã sang mã khác toán mã hoá Chương 1: Các hệ thống số & Mã 23 -Mã BCD (Binary Code Decimal) dùng số nhị phân bit tương ứng thay cho số hạng số thập phân (Có nghĩa: Mỗi số hạng số thập phân miêu ta số nhị phân bit – có tổ hợp khơng sử dụng) VD: 943 có mã BCD 1001 0100 0011 487 có mã BCD 0100 1000 0111 Mã BCD sử dụng nhiều bit số nhị phân trình biến đổi đơn giản Chương 1: Các hệ thống số & Mã 24 -Mã Gray gọi mã khoảng cách đơn vị hay mã phản chiếu + Hai tổ hợp mã kế cận khác bit Tính kề tổ hợp mã Gray dùng để rút gọn hàm logic đến mức tối giản + Mã Gray gọi mã phản chiếu: Do tính đối xứng số hạng tập hợp mã giống phẩn chiếu qua gương Dựa vào tính chất để thiết kế mã Gray Chương 1: Các hệ thống số & Mã 25 • Thiết lập mã Gray: Từ tập hợp 2n từ mã số n bit tập hợp 2n+1 từ mã số n+1 bit: + Viết 2n từ mã theo thứ tự từ nhỏ đến lớn + Thêm số vào trước tất từ mã có + Phần thứ hai tập hợp gồm từ mã giống phần thứ theo thứ tự ngược lại (phản chiếu), phía trước thêm số • Đổi từ Nhị phân sang Gray: Hạ bit MSB xuống, dịch chuyển MSB lùi bit có trọng số nhỏ (phía phải), sau thực phép cộng khơng nhớ Mã Gray • Đổi từ Gray sang Nhị phân: Hạ bit MSB xuống, Lấy kết vừa hạ xuống dịch lùi phía bit có trọng số nhỏ (phía phải), sau thực phép cộng không nhớ số nhị phân Chương 1: Các hệ thống số & Mã 26 ... 00 01 0 010 0 011 010 0 010 1 011 0 011 1 Thập Thập lục phân phân 10 11 12 13 14 15 Chương 1: Các hệ thống số & Mã Nhị phân Bát phân Thập lục phân 10 00 10 01 1 010 10 11 110 0 11 01 111 0 11 11 10 11 12 13 14 ... nhị phân làm trung gian VD: (12 34,67)8 = 0 01 0 010 0 011 010 0 , 011 11 1 00 = (12 34,7C )16 VD: (ABCD,EF) = 00 10 10 10 11 110 0 11 01 , 11 10 11 11 = (12 5 715 ,736)8 Chương 1: Các hệ thống số & Mã 20 Bảng... tất Chương 1: Các hệ thống số & Mã VÍ DỤ Đổi sang hệ số 10 (hệ thập phân) • 10 10 ,11 2 = 1x23+0x22+1x 21+ 0x20+1x2 -1+ 1x2-2 =10 ,7 510 • 1C 516 • 2F16 = 1x162 +12 x1 61+ 5x160=256 +19 2+5=45 310 =2x1 61+ 15x160=32 +15