Bài Giảng Kỹ Thuật Số Chương 1
GV: Nguyễn Trọng Hải Trang
4
CHƯƠNG 1. HỆ THỐNG SỐ ĐẾM
1.1. CƠ SỐ - CHUYỂN ĐỔI CƠ SỐ
1.1.1. Khái niệm
Bất cứ một số nguyên dương R (R>1) đều có thể được chọn làm cơ số cho một
hệ thống số.
Nếu hệ thống có cơ số R thì các số từ 0 đến (R-1) được sử dụng.
Ví dụ: nếu R=8 thì các chữ số cần thiết là 0,1,2,3,4,5,6,7.
Các hệ thống cơ số thông dụng trong kỹ thuật số:
• Thập phân (cơ số 10).
• Nhò phân (cơ số 2).
• Bát phân (cơ số 8).
• Thập lục phân (cơ số 16).
Một hệ thống với cơ số R được biểu diễn dưới dạng
(…a
3
a
2
a
1
a
0
a
-1
a
-2
.R
2
+ a
1
.R
1
+ a
0
.R
0
+ a
-1
.R
-1
+ a
-2
.R
-2
+ a
-3
.R
-3
Với các cơ số lớn hơn 10 thì cần phải thêm các ký hiệu để biểu hiện các số lớn
hơn 10. Ví dụ hệ thập lục phân (hex) có cơ số 16 thì A biểu thò 10, B biểu thò
11,…, F biểu thò 15.
Đổi giữa các cơ số
Phần ngun và phần thập phân được đổi một cách riêng biệt
Phần ngun được đổi bằng cách sử dụng phép chia lặp cho cơ số mới và sử
+ a
n-1
.R
n-1
+ … + a
2
.R
2
+ a
1
.R
1
+ a
0
Nếu chia N cho R, nhận được số dư là a
0R
N
= a
n
.R
n-1
+ a
n-1
.R
n-2
+ … + a
3
.R
1
+ a
2
+
R
a
1
= Q
2
+ số dư a
1
Quá trình trên được thực hiện tiếp tục cho đến khi tìm được tất cả các hệ số a
n
Ví dụ: Biến đổi phần thập phân của hệ cơ số 10 sang hệ cơ số R
F = (a
-1
a
-2
a
-3
…a
-m
)
R
= a
-1
= a
-1
+ F
1
Với a
-1
là phần nguyên, F
1
là phần lẻ của phép nhân
Tiếp tục nhân R với F
1
F
1
.R = a
-2
+ a
-3
.R
-1
+ a
-4
.R
-2
+ … + a
-m
.R
-m+2
= a
5
3 4 6 7
2
10
3
,
10
2
10
1
10
0
10
-2
10
-1
MSD
Điểm thập
phân
LSD
Trọng số
Bài Giảng Kỹ Thuật Số Chương 1
GV: Nguyễn Trọng Hải Trang
6
• Đếm trong hệ thập phân:
0 10 100
1 11 101
2 12 102
Thường dùng chữ B cuối chuỗi bit để xác đònh đó là số nhò phân.
Ví dụ: Số 1011,101B biểu diễn giá trò số:
1011,101B = 1.2
3
+ 0.2
2
+ 1.2
1
+1.2
0
+ 1.2
-1
+ 0.2
-2
+ 1.2
-3
1
0
1
10
1
2
3
1
2
2
2
0
0
0
0
0
0
0
0
0
0
1
1
0
1
0
1
0
0
0
0
1
1
1
1
0
0
1
1
0
1
0
1
0
1
Cũng như trong hệ thập phân, nếu dùng N bit sẽ đếm được 2
N
lần.
• Chuyển số nhò phân thành số thập phân:
Phương pháp: Cộng trọng số các bit 1
Ví dụ: 1011,11B = 1.2
3
+ 0.2
2
+ 1.2
1
+ 1 + 1.2
-1
+ 1.2
-2
= 11,75
• Chuyển số thập phân thành số nhò phân:
Phương pháp:
Phần nguyên: Chia 2, nhớ lại số dư
Phần thập phân: Nhân 2, nhớ lại phần nguyên
Ví dụ: Chuyển (25)
10
ra số nhò phân
12
2
Ví dụ: Chuyển (0,625)
10
thành số nhò phân
0,625 × 2 = 1,25
0,25 × 2 = 0,5
0,5 × 2 = 1,0
0,625 = 0,101B
1.1.4. Các phép tốn số học trên số nhị phân
Các phép toàn số học trên số nhò phân chủ yếu vẫn giống các phép toán trên số
thập phân, ngoại trừ phép cộng và phép nhân thì đơn giản hơn.
Bảng phép cộng cho số nhò phân
0 + 0 = 0
0 + 1 = 1
1 + 0 = 1
1 + 1 = 0 nhớ 1 cho số hạng kế tiếp
Ví dụ: cộng 13
10
với 11
10
dưới dạng nhò phân
1111 ← các số nhớ
13
10
= 1101
11
10
= 1011
11000 =24
10
ở dạng nhò phân
1101
1011
1101
1101
0000
1101
10001111 =143
10
Đối với máy tính, phép nhân được thực hiện bằng phương pháp cộng và dòch
trái:
- Thành phần đầu tiên của tổng sẽ chính là số bò nhân nếu như LSB của số
nhân là 1. Ngược lại, LSB của số nhân bằng 0 thì thành phần này bằng 0.
- Mỗi thành phần thứ i kế tiếp sẽ được tính tương tự với điều kiện là phải dòch
trái số bò nhân i bit.
- Kết quả cần tìm chính là tổng các thành phần nói trên.
Phép chia cho số nhò phân
Phép chia các số nhò phân cũng tương tự như đối với các số thập phân.
Ví dụ: 30/6
11110 110
110 101
011
000
110
110
0
Tương tự như đối với phép nhân, ta có thể dùng phép trừ và phép dòch phải cho
đến khi không thể thực hiện phép trừ được nữa.
1.1.5. Số có dấu - khơng dấu
cho bit dấu nên kết quả vẫn đúng
Khi biểu diễn theo số bù 2, nếu sử dụng 8 bit ta sẽ có các giá trò số thay đổi từ
-128 127.
Phép trừ thông qua số bù 2
Ngoài cách trừ như trên, ta cũng có thể thực hiện phép trừ thông qua số bù 2 của
số trừ: A-B=A+(-B)
VD: 0110 1101 0110 1101
- 0011 0001 → + 1100 1111
1 0011 1100
Số bù 1 Nhớ
1100 1110 + 1 = 1100 1111 (Số bù 2)
Kết quả 0011 1100, Bit MSB = 0 cho biết kết quả là số dương.
Xét khoảng thay đổi sau
+3 00000011
+2 00000010
+1 00000001
0 00000000
-1 11111111
-2 11111110
-3 11111101
Bài Giảng Kỹ Thuật Số Chương 1
GV: Nguyễn Trọng Hải Trang
11
Thấy rằng các bit 0 ở số nhò phân âm biểu thò giá trò thập phân của nó: tính giá
trò của các bit 0 theo vò trí giống như với bit 1, cộng các giá trò lại và cộng 1.
1.1.6. Hệ bát phân (hệ cơ số 8)
Hệ bát phân được kết hợp bởi 8 chữ số: 0, 1, 2, 3, 4, 5, 6, 7.
Vò trí của mỗi chữ số có trọng số như sau:
7 67 300
Với N chữ số bát phân, ta có thể đếm từ 0 đến 8
N
-1, 8
N
lần đếm khác nhau.
¾ Chuyển số bát phân sang số thập phân:
Ví dụ: (24.6)
8
= 2.8
1
+ 4.8
0
+ 6.8
-1
=(20.75)
10
¾ Chuyển số thập phân sang bát phân:
Ví dụ: đổi (266)
10
sang hệ bát phân
33
8
266
=
+ số dư 2
4
8
tương đương
000 001 010 011 100 101 110 111
Ví dụ: Biến đổi (472)
8
sang số nhò phân như sau:
4 7 2
↓ ↓ ↓
100 111 010
Vậy (472)
8
chuyển sang nhò phân là 100111010B.
¾ Chuyển số nhò phân sang số bát phân.
Phương pháp: nhóm từng 3 bit bắt đầu tại LSB, sau đó chuyển mỗi nhóm
này sang số bát phân tương ứng (theo bảng chuyển đổi ở trên).
Ví dụ: chuyển 100111010B sang số bát phân
1 0 0 1 1 1 0 1 0
↓ ↓ ↓
(4 7 2)
8
Trường hợp các số nhò phân không đủ thành 1 nhóm 3 bits, ta thêm 1 hoặc 2
số 0 về bên trái của MSB.
Ví dụ: chuyển 11010110 sang số bát phân
0 1 1 0 1 0 1 1 0
↓ ↓ ↓
(3 2 6)
8
¾ Lợi ích của hệ bát phân
0
8
2
=
+ số dư 2
Vậy (177)
10
=(261)
8
= (10110001)
2
Phương pháp chuyển số thập phân thành số nhò phân này thường nhanh hơn
việc chuyển thẳng từ thập phân sang nhò phân, đặc biệt đối với các số lớn.
Cũng như vậy đối với việc chuyển ngược lại từ nhò phân sang thập phân
bằng cách chuyển sang số bát phân
1.1.7. Hệ thập lục phân (hệ cơ số 16)
Trong hệ thống này, ta dùng các số 0 9 và các kí tự A F để biểu diễn cho một
giá trò số (tương ứng với 10 đến 15 trong hệ 10). Thông thường, ta dùng chữ H ở
cuối để xác đònh đó là số thập lục phân.
Hệ thập lục phân Hệ thập phân Hệ nhò phân
0
1
2
3
4
5
6
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
¾ Đếm trong hệ thập lục phân (hex)
Khi đếm trong hệ thập lục phân mỗi chữ số tăng từ 0 đến F sau đó về 0 và
chữ số có trọng số lớn hơn kế tiếp sẽ tăng lên 1.
Bài Giảng Kỹ Thuật Số Chương 1
GV: Nguyễn Trọng Hải Trang
14
0 10 20 9 19 FF
A 1A 100
B
C
D
E 1E 6FF
F 1F 700
3 A 6
Ví dụ: Chuyển (378)
10
sang số hex rồi chuyển sang số nhò phân, nhận xét
Ví dụ: Chuyển B2F
16
sang bát phân
1.2. CÁC BỘ MÃ HĨA SỐ HỆ MƯỜI THƠNG DỤNG
Khi các số, mẫu tự hoặc các từ words được biểu thò dưới dạng một nhóm các ký
hiệu khác, ta nói rằng chúng được mã hóa và nhóm ký tự đó được gọi là một
mã.
Một trong những mã thông dụng nhất là mã Morse, chúng bao gồm các chấm và
gạch để biểu hiện các mẫu tự hay các chữ cái.
Bất cứ số thập phân nào cũng có thể được mô tả bằng số nhò phân tương ứng,
một nhóm các số nhò phân 0 và 1 có thể được xem là một mã cho số thập phân.
Khi một số thập phân được mô tả bằng số nhò phân tương ứng với nó, người ta
gọi là mã nhò phân trực tiếp (straight binary code)
Bài Giảng Kỹ Thuật Số Chương 1
GV: Nguyễn Trọng Hải Trang
15
Tất cả các hệ thống số dùng một số dạng các số nhò phân cho việc thực thi bên
trong, nhưng các từ bên ngoài thì thường là thập phân, nghóa là có một sự biến
đổi thường xuyên từ thập phân sang nhò phân, sự biến đổi từ thập phân sang nhò
phân có thể chiếm một khoảng thời gian lâu và phức tạp đối với một số lớn. Vì
lý do đó, việc mã hóa các số thập phân bằng cách kết hợp một vài chức năng
của cả hệ thống thập phân và nhò phân được sử dụng trong các tình huống.
1.2.1. Mã BCD (Binary-Coded-Decimal Code)
Nếu mỗi chữ số của số thập phân được mô tả bằng số nhò phân tương ứng với
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
0
0
1
1
0
0
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
0
1
0
0
0
0
0
0
1
1
1
1
1
0
0
0
0
1
0
1
1
1
1
0
0
0
0
1
0
0
0
0
1
0
0
1
1
0
0
0
1
1
1
0
1
0
1
0
0
1
0
(nhò phân)
137
10
= 0001 0011 0111 (BCD 8-4-2-1)
Mã BCD cần 12 bit trong khi mã nhò phân trực tiếp chỉ cần 8 bit để biểu thò số
137. Mã BCD cần nhiều bit hơn là bởi vì BCD không dùng hết các khả năng của
các nhóm 4 bit và vì vậy có phần nào đó không hiệu quả.
Ưu điểm chính của BCD là dễ dàng chuyển sang thập phân. Chỉ phải nhớ các
nhóm mã 4bit cho các số thập phân từ 0 đến 9. Sự dễ dàng chuyển đổi này đặc
biệt quan trọng theo quan điểm về phần cứng vì trong một hệ thống số, nó là
các mạch logic để tạo nên sự chuyển đổi sang và từ thập phân
1.2.2. Các phép tốn số học với mã BCD
Cộng BCD
Cộng hai số BCD có điểm khác so với cộng hai số nhò phân. Khi tổng của mỗi
số hạng BCD ≤ 9 thì tổng đó là kết quả cuối cùng
Ví dụ,
01010011 (53)
00100101 (25)
01111000 (78)
Khi tổng hai số nhò phân
9≥
thì tổng phải được cộng thêm 6 và nhớ 1 lên hàng
BCD có nghóa cao hơn
Ví dụ,
0001 0111 (17)
0010 0101 (25)
0111 1011 Chuyển sang mã nhò phân 4 bit
Bảng liệt kê mã BCD và mã quá 3 tương ứng với các chữ số thập phân.
Thập phân BCD Mã quá 3
0
1
2
3
4
5
6
7
8
9
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
0011
0100
0101
0110
0111
1000
1001
5
6
7
0000
0001
0010
0011
0100
0101
0110
0111
0000
0001
0011
0010
0110
0111
0101
0100
8
9
10
11
12
13
14
15
1000
1001
1010
0
1
2
3
4
5
6
7
8
9
0
0
0
0
0
1
1
1
1
1
0
0
0
0
1
1
1
1
1
0
Ngoài ra còn dùng các loại mã có chữ số lớn hơn như 8 hoặc 10 chữ số, nhược
điểm của các loại mã này là độ dài từ mã lớn nên chiếm nhiều thời gian trong
kênh thông tin nhưng ưu điểm là có thể phát hiện sai và trong nhiều trường hợp
còn có thể sửa sai, vì vậy thường gọi là mã chống nhiễu (nội dung này nằm
trong lý thuyết thông tin)
Bài Giảng Kỹ Thuật Số Chương 1
GV: Nguyễn Trọng Hải Trang
19
1.2.6. Các mã Alphanumeric (mã theo chữ cái và con số)
Ngoài các dữ liệu số, một máy tính phải có khả năng xử lý các công tin không
số. Nói cách khác, một máy tính phải nhận ra các mã biểu thò các ký tự của chữ
cái, các dấu chấm, và các ký tự đặc biệt khác. Các mã này được gọi là mã
alphanumeric. Một mã alphanumeric hoàn tất bao gồm 26 chữ cái thường, 26
chữ cái hoa, 10 chữ số, 7 chấm câu, và từ 20 đến 40 ký tự khác, như +, /, #, %,
*,v.v…. Có thể nói rằng mã alphanumeric biểu thò tất cả các ký tự khác nhau và
các hàm tùy thuộc vào chuẩn bàn phím của máy tính hay máy đánh chữ
Mã ASCII. Mã alphanumeric dùng rộng rãi hiện nay là mã ASCII (American
Standard Code for Information Interchange), sử dụng hầu hết trong các máy vi
tính, trong các thế hệ máy tính lớn (mainframe). Mã ASCII là một mã 7 bit và vì
vậy nó có 2
7
= 128 nhóm mã. Điều này thì đủ để biểu thò tất cả các ký tự bàn
phím chuẩn cũng như các hàm điều khiển như (RETURN) và (LINEFEED)
Ký tự ASCII Octal Hex Ký tự ASCII Octal Hex
A
B
C
D
E
F
41
42
43
44
45
46
47
48
49
4A
4B
4C
Y
Z
0
1
2
3
4
5
6
7
8
9
101 1001
101 1010
011 0000
011 0001
011 0010
011 0011
M
N
O
P
Q
R
S
T
U
V
W
X
100 1101
100 1110
100 1111
101 0000
101 0001
101 0010
101 0011
101 0100
101 0101
101 0110
101 0111
101 1000
115
116
117
120
121
122
LINEFEED
010 0000
010 1110
010 1000
010 1011
010 0100
010 1010
010 1001
010 1101
0101111
010 1100
011 1101
000 1101
0001010
040
056
050
053
044
052
051
055
057
054
075
015
012
20
2E
28
Bài Giảng Kỹ Thuật Số Chương 1
GV: Nguyễn Trọng Hải Trang
21
Bài tập chương 1
1.1. Đổi các số nhị phân sau sang số thập phân:
a. 10110
b. 10001101
c. 100100001001
d. 1111010111
e. 10111111
GV: Nguyễn Trọng Hải Trang
22
b. 1A6
c. 37FD
e. 2C0
f. 7FF
1.11. Đổi các giá trị thập phân sau sang Hex:
a. 75
b. 314
c. 2048
d. 25,619
e. 4095
1.12. Đổi các giá trị nhị phân ở bài 1.1sang thập lục phân.
1.13. Đổi các giá trị Hex ở bài 1.10 sang nhị phân.
1.14.Trong máy vi tính, địa chỉ các vị trí ô nhớ được biểu diễn ở dạng thập lục
phân. Địa chỉ này là những số liên tục mà nó nhận dạng mỗi mạch nhớ
a. Một máy tính cụ thể có thể chứa 1 số 8 bit trong mỗi vị trí nhớ. Nếu các
địa chỉ ô nhớ nằm trong khoảng từ 000016 đến FFFF16, có bao nhiêu vị
trí nhớ?
b. Một bộ vi xử lý có 4096 vị trí nhớ thì khoảng địa chỉ Hex mà bộ vi xử lý
này dùng là gì ?.
1.15. Hãy liệt kê những số hex trình tự từ 280 đến 2A0.
1.16. Hãy mã hóa các số thập phân sau thành số BCD:
a. 47
b. 962
c. 187
d. 42,689.627
e. 1204
1.17. Cần bao nhiêu bit để thể hiện các số thập phân trong khoảng từ 0 đến 999
dùng mã nhị phân chuẩn, mã BCD?
nhất trong nhiều cách đã khảo sát.
a. (1417)
10
= (……………………….…… )
2
b. (-255)
10
= (………………………………)
2
c. (1110101000100111)2 =(……………………………)
10
e. (2497)
10
= (…………………………… )
8
g. (235)
8
= (……………………………)
10
i. (7A9)
16
= (…………………………….)
10
k. (1600,123)
(như diode, transistor), cho nên sẽ tập trung khảo sát trường hợp đại số Boolean
với sự thay đổi giả sử chỉ ở 1 trong 2 giá trò. Đại số Boolean sử dụng 2 giá trò
này xem như đại số về chuyển mạch.
Phần này sử dụng các biến Boolean như X hoặc Y… để biểu diễn ngõ vào hoặc
ngõ ra của mạch chuyển mạch, mỗi biến có thể lấy 1 trong hai giá trò. Ký hiệu
“0” và “1” được dùng để đại diện cho hai giá trò khác nhau này. Vì vậy, nếu X
là biến chuyển mạch hay biến Boolean thì hoặc X=0, hoặc X=1
Mặc dù ký hiệu “0” và “1” giống như số nhò phân, nhưng không phải như vậy.
Đây chỉ là 2 ký tự đại diện cho 2 giá trò của biến chuyển mạch và được xem là
mức logic, một số vò dụ về các hiện tượng mà mức logic đại diện như sau
LOGIC 0 LOGIC 1
Sai
Tắt
Mức điện áp thấp
Không
Mở mạch
Đúng
Mở
Mức điện áp cao
Có
Đóng mạch
Vì chỉ có hai giá trò, nên đại số Boolean tương đối dễ dàng hơn so với đại số
thông thường. Ở đại số Boolean, không có phân số, thập phân, căn bậc hai, căn
bậc ba, logarit, số ảo, v.v. Đại số Boolean chỉ có 3 phép toán cơ bản: cộng (OR),
nhân (AND) và lấy bù (NOT).
2.2. BẢNG SỰ THẬT
Bảng sự thật (Truth Table) mô tả các đáp ứng ngõ ra của mạch logic ứng với
các tổ hợp khác nhau tại ngõ vào.
Ví dụ
25
Các bảng sự thật tiêu biểu ứng với các mạng chuyển mạch trên như sau: Ở mỗi bảng sự thật, các tổ hợp mức logic 0 và 1 đối với ngõ vào (A, B, C, D)
được thể hiện bên trái, mức logic ở ngõ ra X được thể hiện bên phải
Lưu ý, nếu có 2 ngõ vào thì có 4 khả năng xảy ra, tương tự 8 khả năng cho 3 ngõ
vào và 16 khả năng cho 4 ngõ vào. Sẽ có 2
N
khả năng xảy ra đối với N ngõ vào.
Tất cả các tổ hợp ngõ vào được thể hiện theo chuỗi đếm nhò phân.
2.3. CÁC PHÉP TỐN CƠ BẢN
2.3.1. Phép tốn OR và cổng OR
Gọi A và B là 2 biến logic độc lập. Khi A và B kết hợp qua phép toán OR, kết
quả x được mô tả như sau:
X = A + B
Trong biểu thức này, dấu “+” không có nghóa là phép cộng thuần túy. Nó là
phép toán OR, kết quả của phép toán OR được cho trong bảng sự thật sau:
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
?
?
?
?
?
?
?
?
A B C D X
0
0
0
0
0
1
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
?
1
0
1
1
1
Bài Giảng Kỹ Thuật Số Chương 2
Trang
23
Ký hiệu và bảng sự thật cho cổng OR 3 ngõ vào
Ví dụ
Xác đònh dạng sóng ngõ ra cổng OR khi ngõ vào A, B thay đổi theo giản đồ sau: 2.3.2. Phép tốn AND và cổng AND
Nếu hai biến logic A và B được kết hợp qua phép AND, kết quả là:
X= A.B
Bảng sự thật của phép nhân 2 biến A và B như sau:
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
0
0
0
0
0
0
1
1
1
1
A B X=A.B
0
0
1
1
0
1
0
1
0
0
0
1
1
0
B
A
Out
B
A
Bài Giảng Kỹ Thuật Số Chương 2
Trang
24
Ví dụ
Xác đònh dạng sóng ngõ ra của cổng AND ứng với các ngõ vào như sau
`
Mạch có 3 ngõ vào A, B và C và một ngõ ra x. Sử dụng các biểu thức Boolean
cho mỗi cổng ta xác đònh được biểu thức ngõ ra x = AB + C.
Ví dụ B
A
B
A
X = AB
A.B
B
A
C
X = A.B + C
A+B
B
A
C
X = (A+B).C
Cổng NOT
X=A
A
Bài Giảng Kỹ Thuật Số Chương 2
Trang
Cổng NAND và cổng NOR được dùng rất rộng rãi trong các mạch số. Thực sự
các cổng này đều được kết hợp từ các phép tóan cơ bản AND, OR và NOT.
2.6.1. Cổng NOR
Cổng NOR họat động giống như hai cổng OR và NOT mắc nối tiếp như hình vẽ
và biểu thức ngõ ra là x=
A
+B , bảng sự thật như sau:
OR NOR
A B A+B
A
+B
0
0
1
1
0
1
0
1
0
1
1
1
1
0
0
0
Ngõ ra cổng NOR là đảo với ngõ ra cổng OR
AC
C