CÁC HỆ THỐNG SỐ & MÃ

Download Report

Transcript CÁC HỆ THỐNG SỐ & MÃ

CHƯƠNG 1
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 TOÁN SỐ NHỊ PHÂN
 MÃ HÓA
Chương 1: Các hệ thống số & Mã
1
 NGUYÊN LÝ CỦA VIỆC VIẾT SỐ
- Một số được viết bằng cách đặt kề nhau các ký hiệu trong
một tập hợp xác định.
Thí dụ:
S10 = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
- Giá trị của các số mã tùy thuộc vào vị trí của nó trong số.
Giá trị này được gọi là trọng số của số mã.
Thí dụ:
199810 = 1x103 + 9x102 + 9x101 + 8x100
= 1000 + 900 + 90 + 8
Ta thấy trong hệ 10, với 2 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 ngay sau nó.
Chương 1: Các hệ thống số & Mã
2
Tổng quát: Một hệ thống số b sẽ gồm b ký hiệu trong tập hợp:
Sb = {S0, S1, S2, . . ., Sb-1}
Một số N được viết:
N = (anan-1an-2. . .ai. . .a0,a-1a-2. . .a-m)b với ai  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 là trọng số của một ký hiệu trong Sb ở vị trí thứ i.
Chương 1: Các hệ thống số & Mã
3
 CÁC HỆ THỐNG SỐ
Hệ cơ 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 được viết:
N = (anan-1an-2. . .ai. . .a0,a-1a-2. . .a-m)10 với ai  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ã
4
Hệ cơ số 2 (Nhị phân – Binary system)
Tập hợp hệ 2:
S2 = {0, 1}
Mỗi số mã trong một số nhị phân gọi là một bit (viết tắt
của binary digit)
Số N được viết:
N = (anan-1an-2. . .ai. . .a0,a-1a-2. . .a-m)2 với ai  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ã
5
Hệ cơ số 8 (Bát phân – Octal system)
Tập hợp hệ 8:
S8 = {0, 1, 2, 3, 4, 5, 6, 7}
Số N được viết:
N = (anan-1an-2. . .ai. . .a0,a-1a-2. . .a-m)8 với ai  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ã
6
Hệ cơ 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 được viết:
N = (anan-1an-2. . .ai. . .a0,a-1a-2. . .a-m)16 với ai  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) để chỉ số thập lục phân.
Chương 1: Các hệ thống số & Mã
7
 BIẾN ĐỔI QUA LẠI GIỮA CÁC HỆ THỐNG SỐ
Xác định giá trị tương đương của một số ở hệ này so với hệ thống khác
Đổi một số từ hệ b sang hệ 10
Một số N trong hệ b được viết:
N = (anan-1an-2. . .ai. . .a0,a-1a-2. . .a-m)b với ai  Sb
Có giá trị tương đương trong hệ 10:
N = anbn + an-1bn-1 + an-2bn-2 + . . . + aibi + . . . +
+ a0b0 + a-1b-1 + a-2b-2 + . . . + a-mb-m
Lấy từng trị số của con số nhân với giá trị vị trí tương ứng, sau
đó lấy tổng tất cả.
Chương 1: Các hệ thống số & Mã
8
VÍ DỤ
Đổi sang hệ cơ 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+1925=45310
=2x161+15x160=32+15 = 4710
Chương 1: Các hệ thống số & Mã
9
Đổi một 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
= là phần nguyên của N
(0,a-1a-2. . .a-m)b = là phần lẻ của N
được biến đổi theo 2 cách khác nhau.
Chương 1: Các hệ thống số & Mã
10
Phần nguyên:
Dùng phép chia lập cho cơ số b:
-Lấy phần nguyên chia cho cơ số b ta được thương số, số dư của
lần chia thứ nhất chính là số mã có trọng số nhỏ nhất của phần
nguyên (a0).
-Tiếp tục lấy thương số chia cho cơ số b cho đến khi thương số=0
thì dừng phép chia, số dư của phép chia cuối cùng, đó là số mã có
trọng số lớn nhất của phần nguyên (an)
 Ta tìm được dãy số (anan-1. . .a0)
Chương 1: Các hệ thống số & Mã
11
Phần lẻ:
Dùng phép nhân lập cho cơ số b
-Lấy phần lẻ nhân cho cơ số b ta được tích số, phần nguyên của phép
nhân thứ nhất là số mã có trọng số lớn nhất của phần lẻ (a-1).
-Tiếp tục lấy phần lẻ trong phép nhân đem nhân với cơ số b cho đến
khi kết quả có phần lẻ bằng không thì dừng phép nhân.
 Ta tìm được dãy số (a-1a-2. . .a-m)
Chú ý: Có thể ta không tìm được một số trong hệ b có giá trị đúng
bằng phần lẻ của số thập phân (do kết quả phép nhân luôn khác 0),
do đó tùy theo yêu cầu về độ chính xác mà ta lấy một số số hạng
nhất định .
Chương 1: Các hệ thống số & Mã
12
Ví dụ
Từ thập phân sang nhị phân
8 , 625
8
4
2
1
:2 =
:2 =
:2 =
:2=
4 dư
2 dư
1 dư
0 dư
0 (LSB)
0
0
1
1 0 0 0 ,
1 0 1
2
0.625 x 2 = 1,25 phần nguyên 1 (MSB)
0.25 x 2 = 0,5 phần nguyên 0
0.5
x 2 = 1,0 phần nguyên 1
Chương 1: Các hệ thống số & Mã
13
Từ thập phân sang thập lục phân:
1480,4296875
1480 : 16 = 92 dö 8 (LSD)
92 : 16 = 5 dö 12
5 : 16 = 0 dö 5
5 C 8 ,
6 E H
0.4296875 x 16 = 6,875 phaàn nguyeân 6 (MSD)
0.875
x 16 = 14,0 phaàn nguyeân 14
Chương 1: Các hệ thống số & Mã
14
Đổi số từ hệ thập lục phân (Hex) sang nhị phân và ngược lại
Nhận xét: Mỗi con số trong số Hex tương ưng với số 4 bit của số
nhị phân  Thay mỗi số hạng của số trong hệ thập lục phân
bằng một số 4 bit trong số nhị phân.
Ngược lại: Từ dấu phẩy nhị phân về hai phía, nhóm 4 bit lại, giá
trị của mỗi số 4 bit này là một số hạng trong hệ thập lục phân.
(nếu cần: phải thêm số 0 vào nhóm đầu và cuối mà không làm
thay đổi giá trị của số đã cho).
Chương 1: Các hệ thống số & Mã
15
Vi dụ: Từ nhị phân sang thập lục phân:
00 11101101011101,0110101
3
B
5
D ,
6
0
A
H
Ví dụ: Từ thập lục phân sang nhị phân:
2
C
9
,
E
8
0 0 1 0 1 1 0 0 1 0 0 1 , 1 1 1 0 1 0 0 0 (B)
Chương 1: Các hệ thống số & Mã
16
Đổi số từ hệ bát phân sang nhị phân và ngược lại
Nhận xét: Mỗi con số trong số bát phân tương ưng với số 3 bit
của số nhị phân  Thay mỗi số hạng của số trong hệ thập lục
phân bằng một số 3 bit trong số nhị phân.
Ngược lại: Từ dấu phẩy nhị phân về hai phía, nhóm 3 bit lại, giá
trị của mỗi số 3 bit này là một số hạng trong hệ bat phân. (nếu
cần: phải thêm số 0 vào nhóm đầu và cuối mà không làm thay
đổi giá trị của số đã cho).
Chương 1: Các hệ thống số & Mã
17
Ví dụ: Từ nhị phân sang bát phân
0 11101101011101,0110101
(3
5
5
7
5 , 3
00
2
4 )8
Ví dụ: Từ bát phân sanh nhị phân
2
5
7
,
3
6
(0 1 0 1 0 1 1 1 1 , 0 1 1 1 1 0)2
Chương 1: Các hệ thống số & Mã
18
Đổi số từ hệ bát phân sang hệ thập lục phân và ngược lại
Dùng số nhị phân làm trung gian
VD: (1234,67)8 = 0 001 0010 0011 0100 , 011 111 00
= (1234,7C)16
VD: (ABCD,EF) = 00 1010 1011 1100 1101 , 1110 1111 0
= (125715,736)8
Chương 1: Các hệ thống số & Mã
19
Bảng kết quả chuyển đổi
Thập
phân
Nhị
phân
Bát
phân
0
1
2
3
4
5
6
7
0000
0001
0010
0011
0100
0101
0110
0111
0
1
2
3
4
5
6
7
Thập
Thập
lục phân phân
0
1
2
3
4
5
6
7
8
9
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
8
9
A
B
C
D
E
F
20
 CÁC PHÉP TÍNH TRONG HỆ NHỊ PHÂN
Phép cộng
0+0=0
0+1=1
1+0=1
1 + 1 = 0 (nhớ 1)
Phép trừ
0–0=0
1–1=0
1–0=1
0 – 1 = 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 hiện
giống phép
chia số thập
phân
21
 MÃ HÓA
- Mã hóa là phép áp một đối tượng từ tập hợp nguồn  tập hợp
đích.
- Tập hợp nguồn có thể là tập số, tập ký tự, ...
- Tập hợp đích thường là tập chứa các tổ hợp các số nhị phân.
- Tổ hợp các số nhị phân tương ứng với một số gọi là từ mã.
Tập hợp các từ mã cho ta một bộ 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 là giải mã.
- Biểu diễn các số trong các hệ khác nhau cũng là một hình thức
mã hóa, việc chuyển từ mã này sang mã khác là bài toán mã
hoá.
Chương 1: Các hệ thống số & Mã
22
-Mã BCD (Binary Code Decimal) dùng số nhị phân 4 bit tương
ứng thay thế cho từng số hạng trong số thập phân (Có nghĩa:
Mỗi số hạng trong số thập phân sẽ được miêu ta bằng số nhị
phân 4 bit – có 6 tổ hợp không sử dụng).
VD: 943 có mã BCD là 1001 0100 0011
487 có mã BCD là 0100 1000 0111
 Mã BCD sử dụng nhiều bit hơn số nhị phân nhưng quá trình
biến đổi đơn giản hơn
Chương 1: Các hệ thống số & Mã
23
-Mã Gray còn gọi là mã khoảng cách đơn vị hay mã phản
chiếu.
+ Hai tổ hợp mã kế cận chỉ khác nhau một bit.  Tính kề nhau
của các tổ hợp mã Gray được dùng để rút gọn các hàm logic
đến mức tối giản.
+ Mã Gray còn gọi là mã phản chiếu: Do tính đối xứng của các
số hạng trong tập hợp mã giống như phẩn chiếu qua gương. 
Dựa vào tính chất này để thiết kế mã Gray.
Chương 1: Các hệ thống số & Mã
24
• Thiết lập mã Gray: Từ tập hợp 2n từ mã của số n bit  tập
hợp 2n+1 từ mã của số n+1 bit:
+ Viết 2n từ mã theo thứ tự từ nhỏ đến lớn.
+ Thêm số 0 vào trước tất cả từ mã đã có.
+ Phần thứ hai của tập hợp gồm các từ mã giống như phần
thứ nhất theo thứ tự ngược lại (phản chiếu), phía trước thêm
số 1.
• Đổi từ Nhị phân sang Gray: Hạ bit MSB xuống, dịch
chuyển MSB lùi về bit có trọng số nhỏ hơn (phía phải), sau
đó thực hiện phép cộng không nhớ  được Mã Gray.
• Đổi từ Gray sang Nhị phân: Hạ bit MSB xuống, Lấy kết
quả vừa hạ xuống dịch lùi về phía bit có trọng số nhỏ hơn
(phía phải), sau đó thực hiện phép cộng không nhớ  được
số nhị phân.
Chương 1: Các hệ thống số & Mã
25