Trong bất kỳ hệ thống số đếm nào, một tập hợp có thứ tự các ký hiệu - gọi là chữ số cùng với các luật đ ợc định nghĩa dùng để thực hiện các phép toán nh cộng, nhân Bài 1.1: một số khái niệm cơ bản 1. Khái niệm về hệ đếm và mã. 1.1 Hệ đếm: Học trình 1: cơ sở đại số logic Một tập hợp các chữ số này tạo ra này tạo ra một số mà nói chung gồm 2 phần: phần nguyên và phần thập phân, ngăn cách bởi dấu phẩy cơ số. (N) b = d n-1 d n-2 d 1 d 0 ,d -1 d -2 d -m Trong thế giới máy tính, để biểu diễn một giá trị số ng ời ta dùng hệ 2 (Binary number system: B), trong đó chỉ tồn tại hai chữ số 0 và 1 để biểu diễn các giá trị số. a. Hệ đếm nhị phân: Các chữ số 0 và 1 cũng là các giá trị có thể có của một chữ số hệ 2 (Binary digit: Bit). Một số hệ 2 gồm các bit th ờng đ ợc đánh dấu bằng chữ B đi kèm ở cuối. Ví dụ: 10010111B MSB (Most Significant Bit) LSB (Least Significant Bit) Một cụm 4 bit sẽ tạo thành 1 nibble. Một cụm 8 bit sẽ tạo thành 1 byte. Một cụm 16 bit sẽ tạo thành 1 từ (word). Một cụm 32 bit sẽ tạo thành 1 từ kép (double word). Chuyển đổi hệ 10 sang hệ 2 và ng ợc lại: Ta lấy số cần đổi chia cho 2 và ghi nhớ phần d . Tiếp theo lấy th ơng của phép chia tr ớc đó chia tiếp cho 2 và ghi nhớ phần d . Cứ làm nh vậy cho đến khi đ ợc th ơng bằng 0. Đảo ng ợc thứ tự dãy các số d ta sẽ đ ợc dãy các chữ số của số hệ 2 cần tìm. Ví dụ: Hệ 10 hệ 2: 53 = ? B 53 2 26 13 6 3 1 0 2 2 2 2 2 1 0 1 0 1 1 53 = 110101 B Ta chỉ cần tính các giá trị 2 i t ơng ứng với các chữ số khác 0 thứ i của số hệ 2, rồi cộng lại ta đ ợc kết quả. Ví dụ: Hệ 2 hệ 10: 10110101B =? 10110101B = 2 7 + 2 5 + 2 4 + 2 2 + 2 0 = 128 + 32 + 16 + 4 + 1 = 181 Sè häc nhÞ ph©n: C¸c phÐp to¸n trong ®¹i sè logic (sè nhÞ ph©n) thùc hiÖn gièng nh c¸c phÐp to¸n trong ®¹i sè th«ng th êng (trong hÖ 10). • PhÐp céng: a b y Nhí y = a + b 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 VÝ dô: 11010111 10010110 + 1 0 1 1 1 0 1 1 0 1 1 1 1 • PhÐp trõ: y = a - b a b y M în 0 0 0 0 0 1 1 1 1 0 1 0 1 1 0 0 VÝ dô: 11010101 10010110 - 1 0 1 1 1 1 1 1 1 1 1 1 0 • PhÐp nh©n: a b y y = a ⋅ b 0 0 0 0 1 0 1 0 0 1 1 1 VÝ dô: 1101 1011 x 1 1 1101 1101 1101 + 1 1 1 1 1 0 1 0 1 0 a b y y = a / b 0 0 0 0 1 0 1 1 1 • PhÐp chia: VÝ dô: 11010101 1001 1001 - 100 0 0 1001 - 1 1 - 1 1 1000 0 1001 111 1 1 1001 - 110 Số bù 1: Trong một số nhị phân, nếu ta thay thế mỗi bit 1 bằng bit 0 và ng ợc lại thì ta sẽ nhận đ ợc một số nhị phân khác, gọi là số bù 1 của số nhị phân thứ nhất. Cách này đ ợc sử dụng để biểu diễn các số nhị phân âm. Đối với số có trọng số lớn nhất MSB: 0 biểu thị cho số d ơng. 1 biểu thị cho số âm. Ví dụ: 0110: Biểu thị cho số 6. 1110: Biểu thị cho số - 1. Số bù 2: Nếu cộng thêm 1 vào số bù 1 của một số nhị phân thì số nhận đ ợc sẽ là bù 2 của số nhị phân đó. Phép trừ nhị phân có thể đ ợc thực hiện bằng cách cộng số bị trừ với bù 2 của số trừ. Nếu một số nhớ cuối cùng đ ợc sinh ra thì huỷ bỏ số nhớ và kết quả là những bit còn lại, đó là số d ơng. Nếu nh số nhớ cuối cùng là 0 thì kết quả âm và kết quả này ở dạng bù 2. Là hệ đếm dùng 8 ký hiệu 0, 1, 2, 3, 4, 5, 6, 7 để biểu diễn các số. Mỗi chữ số cơ số 8 là một tổ hợp của 3 chữ số nhị phân. b. Hệ đếm bát phân: Chuyển đổi hệ 10 sang hệ 8 và ng ợc lại: Ta lấy số cần đổi chia cho 8 và ghi nhớ phần d . Tiếp theo lấy th ơng của phép chia tr ớc đó chia tiếp cho 8 và ghi nhớ phần d . Cứ làm nh vậy cho đến khi đ ợc th ơng bằng 0. Đảo ng ợc thứ tự dãy các số d ta sẽ đ ợc dãy các chữ số của số hệ 8 cần tìm. Ví dụ: Hệ 10 hệ 8: 152 = (?) 8 152 8 19 2 0 8 8 0 3 2 152 = (230) 8 Ta chỉ cần tính các giá trị 8 i t ơng ứng với các chữ số khác 0 thứ i của số hệ 8 và nhân với chữ số đó, rồi cộng lại ta đ ợc kết quả. Ví dụ: Hệ 8 hệ 10: (135) 8 =? (135) 8 = 18 2 + 38 1 + 58 0 = 64 + 24 + 5 = 93 Chuyển đổi hệ 8 sang hệ 2 và ng ợc lại: Ta thay thế mỗi chữ số cơ số 8 bằng 3 bit nhị phân t ơng đ ơng của nó. Ví dụ: Hệ 8 hệ 2: (746) 8 = ?B Ta thay thế 3 bit nhị phân từ phải qua trái t ơng ứng bằng một chữ số cơ số 8. Ví dụ: Hệ 2 hệ 8: 101110101 = (?) 8 (746) 8 = 111100110B 101110101 = (565) 8 Để thể hiện các kết quả biểu diễn của các số cho gọn lại, ng ời ta tìm cách nhóm 4 số hệ 2 (1 nibble) thành một số hệ 16. Để làm đ ợc điều này ng ời ta sử dụng các chữ số sẵn có của hệ 10 nh : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 để biểu diễn các giá trị số ứng với 0 9 và dùng thêm các chữ cái A F để biểu diễn các giá trị còn lại ứng với 10 15. Để phân biệt một số hệ 16 với các số hệ khác ta cho đi kèm thêm chữ H ở cuối. c. Hệ đếm thập lục phân: Chuyển đổi hệ 10 sang hệ 16 và ng ợc lại: Ta lấy số cần đổi chia cho 16 và ghi nhớ phần d . Tiếp theo lấy th ơng của phép chia tr ớc đó chia tiếp cho 16 và ghi nhớ phần d . Cứ làm nh vậy cho đến khi đ ợc th ơng bằng 0. Đảo ng ợc thứ tự dãy các số d ta sẽ đ ợc dãy các chữ số của số hệ 16 cần tìm. Ví dụ: Hệ 10 hệ 16: 658 = ?H 658 16 41 2 16 16 2 9 2 658 = 292H Ví dụ: 15H 9B5H 0C5AH 0 Chuyển đổi hệ 16 sang hệ 2 và ng ợc lại: Ta thay thế mỗi chữ số cơ số 16 bằng 4 bit nhị phân t ơng đ ơng của nó. Ví dụ: Hệ 16 hệ 2: 74EH = ?B Ta thay thế 4 bit nhị phân từ phải qua trái t ơng ứng bằng một chữ số cơ số 16. Ví dụ: Hệ 2 hệ 16: 101110101 = ?H 74EH = 011101001110B 101110101 = 175H Ta chỉ cần tính các giá trị 16 i t ơng ứng với các chữ số khác 0 thứ i của số hệ 16 và nhân với chữ số đó, rồi cộng lại ta đ ợc kết quả. Ví dụ: Hệ 16 hệ 10: 1A6H =? 1A6H = 116 2 + 1016 1 + 616 0 = 256 + 160 + 6 = 422 [...]...1.2 Mã của hệ đếm: a Mã nhị phân: Là loại mã mà các bit của nó có trọng số là: 1, 2, 4, 8, , 2n-1 Ví dụ: 1 0 1 1 1 0 1 0 Tơng ứng: 27 26 25 24 23 22 21 20 b Mã Gray: Là loại mã không có trọng số, hai từ mã kề nhau chỉ khác nhau 1 bit Ví dụ: 0111: Biểu diễn số 5 0101: Biểu diễn số 6 c Mãmã nhị(Binary Coded Decimal) : Mã này dùng 4 chữ số Là BCD phân mã hoá số thập phân nhị phân (decard)để mã hoá một . Gray 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0000 00 01 0 010 0 011 010 0 010 1 011 0 011 1 10 00 10 01 1 010 10 11 110 0 11 01 111 0 11 11 0000 00 01 0 010 0 011 010 0 010 1 011 0 011 1 10 00 10 01 0000 00 01 0 011 0 010 011 0 011 1 010 1 010 0 11 00 11 01 111 1 11 10 10 10 10 11 10 01 1000 . 0 0 1 1 1 1 0 1 0 1 1 0 0 VÝ dô: 11 010 1 01 10 010 110 - 1 0 1 1 1 1 1 1 1 1 1 1 0 • PhÐp nh©n: a b y y = a ⋅ b 0 0 0 0 1 0 1 0 0 1 1 1 VÝ dô: 11 01 10 11 x 1 1. 11 01 11 01 11 01 + 1 1 1 1 1 0 1 0 1 0 a b y y = a / b 0 0 0 0 1 0 1 1 1 • PhÐp chia: VÝ dô: 11 010 1 01 10 01 10 01 - 10 0 0 0 10 01 - 1 1 - 1 1 10 00