Professional Documents
Culture Documents
CÁC HỆ THỐNG SỐ
1
1.1. Hệ thập phân
2
1.1. Hệ thập phân
Số thập phân có thể được biểu diễn bằng tổng các tích của
các digit (các ký hiệu 0 9) nhân với trọng số tương ứng.
Do đó, số 9240 có thể được biểu diễn như:
(9 x 103) + (2 x 102) + (4 x 101) + (0 x 100)
hoặc
9 x 1,000 + 2 x 100 + 4 x 10 + 0 x 1
Biểu diễn số 480.52 bằng tổng các tích.
3
1.2. Hệ nhị phân
4
Số thập Số nhị
1.2. Hệ nhị phân phân phân
0 000
0
Một dãy số nhị phân từ 0 đến 15 như 1 000
trong bảng. 1
2 001
Chú ý đến trình tự của các số 0 và số 0
1 trong mỗi cột. 3 001
1
4 010
0
Counter 0 1 0 1 0 1 0 1 0 1 Decoder
5 010
0 0 1 1 0 0 1 1 0 0
1
0 0 0 0 1 1 1 1 0 0
6 011
0
0 0 0 0 0 0 0 0 1 1
7 011
1
8 100
0 5
Chuyển đổi số nhị phân
Chuyển đổi một số nhị phân sang số thập phân tương đương
bằng cách cộng các giá trị cột của các bit 1 và bỏ qua tất cả
các bit 0.
Đổi số nhị phân 100101.01 sang số thập phân.
Bắt đầu viết các cột trọng số; sau đó cộng tất cả các
trọng số tương ứng với bit 1 trong số nhị phân.
25 24 23 22 21 20. 2-1 2-2
32 16 8 4 2 1 . ½ ¼
1 0 0 1 0 1. 0 1
32 +4 +1 +¼ = 37¼
6
Chuyển đổi số nhị phân
Chuyển đổi số thập phân sang số nhị phân bằng trình tự
ngược lại. Viết trọng số của số thập phân cho mỗi cột và gán
các giá trị 1 tại những cột để tổng của nó bằng số thập phân.
64 32 16 8 4 2 1.
0 1 1 0 0 0 1.
7
Chuyển đổi số nhị phân
Chuyển đổi phần số lẻ sang số nhị phân bằng cách nhân đôi
phần số lẻ. Tiếp tục lặp lại nhân đôi với phần số lẻ của kết
quả. Số nhớ chính là số nhị phân.
10
Phép cộng số nhị phân
Cộng số nhị phân 00111 với 10101 và biểu thị kết
quả cùng với phép cộng số thập phân tương ứng.
0111
00111 7
10101 21
11100 = 28
11
Phép trừ số nhị phân
Qui tắc thực hiên phép trừ số nhị phân là
00=0
11=0
10=1
10 1 = 1 (mượn 1)
Trừ số nhị phân 10101 cho 00111 và biểu thị kết
quả cùng với phép trừ số thập phân tương đương.
111
10101
/ / / 21
00111 7
01110 = 14
12
Số bù 1 (1’s Complement)
Số bù 1 của số nhị phân nhận được bằng cách nghịch đảo
các digit. Để có số bù 1, thay đổi tất cả các digit 0 tới 1 và
tất cả các digit 1 tới 0.
Ví dụ, số bù 1 của 11001010 là
00110101
Trong mạch điện tử số, số bù 1 được tạo ra bằng cách sử
dụng các cổng ĐẢO:
1 1 0 0 1 0 1 0
0 0 1 1 0 1 0 1
13
Số bù 2 (2’s Complement)
Số bù 2 của một số nhị phân có được bằng cách cộng thêm
1 vào bit LSB (bit có trọng số nhỏ nhất) của số bù 1.
Nhớ rằng số bù 1 của 11001010 là
00110101 (số bù 1)
Số bù 2 bằng số bù 1 cộng thêm 1: +1
1 1 0 0 1 0 1 0 00110110 (số bù 2)
1
0 0 1 1 0 1 0 1
Input bits
Carry
Adder
in (add 1)
Output bits (sum)
0 0 1 1 0 1 1 0
14
Biểu diễn số nhị phân có dấu
Có nhiều cách biểu diễn số nhị phân có dấu. Trong tất cả
các trường hợp, bit MSB (bit có trọng số lớn nhất – bit tận
cùng bên trái) sử dụng làm bit dấu, để biểu diễn số dương
hoặc số âm.
Máy tính sử dụng số bù 2 cải tiến cho các số nhị
phân có dấu. Số dương được biểu diễn dưới dạng chuẩn (bit
dấu bằng 0) và số âm biểu diễn bằng dạng bù 2 (bit dấu
bằng 1).
Ví dụ, số dương +58 được viết khi sử dụng 8-bit là
00111010 (dạng chuẩn).
Bit dấu Các bit trị số
15
Số nhị phân có dấu
Số âm được viết bằng số bù 2 của số dương tương ứng.
Số âm 58 được viết là:
58 = 11000110 (dạng bù)
Bit dấu Các bit trị số
Một cách đơn giản để đọc một số nhị phân có dấu là gán cho bit dấu
một giá trị trọng số bằng -128 (trường hợp số có 8-bit). Sau đó cộng
tất cả các trọng số của các cột có bit giá trị 1.
Nếu bit dấu = 128, chứng minh rằng số 11000110 = 58 là số
bù 2 của số nhị phân có dấu:
Các trọng số: 128 64 32 16 8 4 2 1.
1 1 0 0 0 1 1 0
128 +64 +4 +2 = 58
16
Biểu diễn số theo dấu phẩy động
Sử dụng dấu phẩy động có thể biểu thị được các số rất
lớn và rất nhỏ. Một số nhị phân có độ dài 32-bit được
biểu diễn như sau.
S E (8 bits) F (23 bits)
Bit dấu Số mũ +127 Phần định trị bỏ bớt bit MSB
Biểu diễn tốc độ của ánh sáng, c, bằng dạng dấu phẩy động.
(c = 0.2998 x 109)
Dạng số nhị phân, c = 0001 0001 1101 1110 1001 0101 1100 00002.
Dạng ký hiệu khoa học, c = 1.001 1101 1110 1001 0101 1100 0000 x
S 2=280. vì là số dương. E = 28 + 127 = 15510 = 1001 10112. F là 23 bit tiếp
theo của phần định trị sau khi bỏ đi bit 1 đầu tiên.
Biểu diễn dưới dạng dấu phẩy động,
c = 001 1101 1110 1001 0101 1100
0 10011011
17
Các phép toán cho các số nhị phân có dấu
Trong các phép cộng và phép trừ đơn giản, sử dụng kiểu
biểu diễn với số âm bằng số bù 2 cho số nhị phân có
dấu.
Qui tắc phép cộng: Cộng 2 số có dấu. Bỏ đi bit nhớ ở kết
quả cuối cùng. Kết quả là dạng số có dấu.
Ví dụ:
00011110 = +30 00001110 = +14 11111111 = 1
00001111 = +15 11101111 = 17 11111000 = 8
00101101 = +45 11111101 = 3 1 11110111 = 9
Bỏ bit nhớ
18
Các phép toán cho các số nhị phân có dấu
Chú ý rằng khi số bit yêu cầu để lưu giữ kết quả không
đủ, sẽ xuất hiện sự tràn (overflow). Sự tràn chỉ xuất hiện
khi cả hai số hạng là cùng dấu. Sự tràn sẽ được biểu lộ
bởi sự sai khác của bit dấu.
Hai ví dụ:
01000000 = +128 10000001 = 127
01000001 = +129 10000001 = 127
10000001 = 126 Bỏ bit nhớ 100000010 = +2
19
Các phép toán cho các số nhị phân có dấu
Qui tắc phép trừ: Cộng số bị trừ với số bù 2 của số trừ. Bỏ
đi bit nhớ cuối cùng. Kết quả là số nhị phân có dấu.
Ví dụ:
00011110 (+30) 00001110 (+14) 11111111 (1)
00001111 –(+15) 11101111 –(17) 11111000 –(8)
Thực hiện bù 2 cho số trừ, sau đó cộng:
00011110 = +30 00001110 = +14 11111111 = 1
11110001 = 15 00010001 = +17 00001000 = 8
1 00001111 = +15 00011111 = +31 1 00000111 = +7
Bỏ bit nhớ Bỏ bit nhớ
20
1.3. Hệ thập lục phân
Decimal Hexadecimal Binary
(Hexadecimal Numbers) 0 0 0000
1 1 0001
Hệ thập lục phân sử dụng 16 ký hiệu 2 2 0010
(chữ số và chữ cái) để biểu diễn các số: 3 3 0011
các số từ 0 đến 9 và các chữ từ A đến 4 4 0100
F. 5 5 0101
6 6 0110
Với số nhị phân lớn có thể dễ
7 7 0111
dàng chuyển đổi sang số hexa bằng 8 8 1000
cách nhóm 4 bit thành một nhóm và 9 9 1001
viết bằng ký hiệu hexa tương đương. 10 A 1010
11 B 1011
Biểu diễn số 1001 0110 0000 11102 12 C 1100
dưới dạng số thập lục phân: 13 D 1101
Nhóm số nhị phân thành từng nhóm 14 E 1110
4-bit bắt đầu từ bên phải. Do đó, ta 15 F 1111
được 960E
21
1.3. Hệ thập lục phân Decimal Hexadecimal Binary
0 0 0000
1 1 0001
Hệ thập lục phân có các trọng số là lũy 2 2 0010
thừa của cơ số 16, với các số mũ tăng 3 3 0011
dần từ phải sang trái. 4 4 0100
5 5 0101
6 6 0110
Các trọng số {4096
16 16 16 16 .
3 2 1
256 16 1 .
0 7
8
7
8
0111
1000
9 9 1001
Biểu diễn 1A2F16 bằng số thập phân. 10 A 1010
11 B 1011
Viết các cột trọng số:
12 C 1100
4096 256 16 1
13 D 1101
1 A 2 F16
14 E 1110
1(4096) + 10(256) +2(16) +15(1) = 670310 15 F 1111
22
1.4. Hệ bát phân
Decimal Octal Binary
(Octal Numbers) 0 0 0000
1 1 0001
Hệ bát phân sử dụng 8 ký hiệu là các 2 2 0010
chữ số từ 0 đến 7 để biểu diễn các số. 3 3 0011
Không dùng các chữ số 8 và 9. 4 4 0100
5 5 0101
Số nhị phân có thể dễ dàng
6 6 0110
chuyển đổi sang số bát phân bằng cách 7 7 0111
nhóm 3 bit vào một nhóm và viết số 8 10 1000
bát phân tương đương cho từng nhóm. 9 11 1001
10 12 1010
Biểu diễn số 1 001 011 000 001 1102
11 13 1011
theo hệ bát phân: 12 14 1100
Nhóm 3-bit một số nhị phân bắt đầu từ 13 15 1101
bên phải. Do đó, được 1130168 14 16 1110
15 17 1111
23
1.4. Hệ bát phân Decimal Octal Binary
0 0 0000
1 1 0001
Số bát phân có các trọng số là lũy thừa 2 2 0010
của 8, với số mũ tăng dần từ phải sang 3 3 0011
trái. 4 4 0100
5 5 0101
6 6 0110
Các trọng số {512
8 3
82 81 80 .
64 8 1 .
7
8
7
10
0111
1000
9 11 1001
Biểu diễn số 37028 thành số thập 10 12 1010
phân. 11 13 1011
Viết các cột trọng số: 12 14 1100
512 64 8 1 13 15 1101
3 7 0 28 14 16 1110
3(512) + 7(64) +0(8) +2(1) = 198610 15 17 1111
24
1.5. Mã BCD Decimal Binary BCD
0 0000 0000
1 0001 0001
Mã BCD (Binary coded decimal) 2 0010 0010
là một mã thông dụng thường được 3 0011 0011
sử dụng trong các hệ thống số khi 4 0100 0100
5 0101 0101
cần biểu thị số thập phân dưới 6 0110 0110
dạng nhị phân. 7 0111 0111
Bảng bên thể hiện sự khác 8 1000 1000
nhau giữa mã nhị phân chuẩn và 9 1001 1001
10 1010 0001 0000
mã BCD. Mã BCD biểu diễn mỗi 11 1011 0001 0001
digit số thập phân bằng một mã 12 1100 0001 0010
4-bit. Các mã từ 1010 đến 1111 không 13 1101 0001 0011
sử dụng trong mã BCD. 14 1110 0001 0100
15 1111 0001 0101
25
1.5. Mã BCD
26
1.6. Mã Gray
Decimal Binary Gray code
(Gray code) 0 0000 0000
1 0001 0001
Mã Gray là mã không sử dụng trọng 2 0010 0011
số. Mã Gray có các từ mã kế tiếp 3 0011 0010
nhau chỉ khác nhau 1 bit. Mã Gray 4 0100 0110
5 0101 0111
được sử dụng để ngăn ngừa sự phát 6 0110 0101
sinh lỗi của hệ thống nếu có hơn 1 7 0111 0100
bit thay đổi trong cùng một thời 8 1000 1100
gian. 9 1001 1101
10 1010 1111
11 1011 1110
12 1100 1010
13 1101 1011
14 1110 1001
15 1111 1000
27
1.6. Mã Gray
Một ví dụ ứng dụng của mã Gray. Bộ encoder sử dụng 3 bộ
phát/thu tia hồng ngoại để xác định vị trí góc quay của một trục
quay. Bộ encoder bên trái sử dụng bộ mã nhị phân và có thể sẽ
có 3 bit thay đổi cùng lúc, dễ có khả năng phát sinh lỗi. Bộ
encoder bên phải sử dụng mã Gray và chỉ có 1 bit thay đổi,
giảm thiểu rất nhiều khả năng sinh lỗi.
28
1.7. Mã ASCII (ASCII code)
29
30
1.8. Phương pháp chẵn lẻ
(Parity Method)
Là một phương pháp để tìm lỗi đường truyền xảy ra với
1 bit (hoặc một số lẻ bit). Parity bit là một bit mở rộng
được thêm vào sao cho tổng số các bit 1 là số chẵn
(even parity) hoặc số lẻ (odd parity).
31