TRNG I HC BÁCH KHOA À NNG
KHOA N T VIN THÔNG
----- oOo -----
BÀI GING
N T S 1
à Nng, 08 / 2007
Chng 1. H thng sm và khái nim v mã Trang 1
Chng 1
THNG SM VÀ KHÁI NIM V MÃ
1.1. H THNG SM
1.1.1. Hm
1. Khái nim
m là tp hp các phng pháp gi và biu din các con s bng các kí hiu có giá tr s
ng xác nh gi là các ch s.
2. Phân loi
Có th chia các hm làm hai loi: hm theo v trí và hm không theo v trí.
a. Hm theo v trí:
m theo v trí là hm mà trong ó giá tr s lng ca ch s còn ph thuc vào v trí ca
nó ng trong con s c th.
Ví d: H thp phân là mt hm theo v trí. S 1991 trong h thp phân c biu din bng
2 ch s “1” và “9”, nhng do v trí ng ca các ch s này trong con s là khác nhau nên s mang
các giá tr s lng khác nhau, chng hn ch s “1” v trí hàng n v biu din cho giá tr s
ng là 1 song ch s “1” v trí hàng nghìn li biu din cho giá tr s lng là 1000, hay ch s
“9” khi hàng chc biu din giá tr là 90 còn khi hàng trm li biu din cho giá tr là 900.
b. Hm không theo v trí:
m không theo v trí là hm mà trong ó giá tr s lng ca ch s không ph thuc vào
trí ca nó ng trong con s.
m La Mã là mt hm không theo v trí. Hm này s dng các ký t “I”, “V”, “X”...
biu din các con s, trong ó “I” biu din cho giá tr s lng 1, “V” biu din cho giá tr s
ng 5, “X” biu din cho giá tr s lng 10... mà không ph thuc vào v trí các ch s này ng
trong con s c th.
Các hm không theo v trí s không c cp n trong giáo trình này.
1.1.2. C s ca hm
t s A bt k có th biu din bng dãy sau:
A= a
m-1
a
m-2
.....a
0
a
-1
......a
-n
Trong ó a
i
là các ch s, (
1mni −÷−= ); i là các hàng s, i nh: hàng tr, i ln: hàng già.
Giá tr s lng ca các ch s a
i
s nhn mt giá tr nào ó sao cho tha mãn bt ng thc sau:
1Na0
i
−≤≤
(a
i
nguyên)
N c gi là c s ca hm. s ca mt hm là s lng ký t phân bit c s
ng trong mt hm. Các h thng sm c phân bit vi nhau bng mt c s N ca h
m ó. Mi ký t biu din mt ch s.
Bài ging K THUT S Trang 2
Trong i sng hng ngày chúng ta quen s dng hm thp phân (decimal) vi N=10. Trong
thng s còn s dng nhng hm khác là hm nh phân (binary) vi N=2, hm bát phân
(octal) vi N=8 và hm thp lc phân (hexadecimal) vi N=16.
- H nh phân : N =2 ⇒ a
i
= 0, 1.
- H thp phân : N =10 ⇒ a
i
= 0, 1, 2, 3, 4, 5, 6, 7, 8, 9.
- H bát phân : N =8
⇒
a
i
= 0, 1, 2, 3, 4, 5, 6, 7.
- H thp lc phân : N =16 ⇒ a
i
= 0, 1, 2, …8, 9, A, B, C,D, E, F.
Khi ã xut hin c s N, ta có th biu din s A di dng mt a thc theo c s N, c ký
hiu là A
(N)
:
A
(N)
= a
m-1
.N
m-1
+ a
m-2
.N
m-2
+...+ a
0
.N
0
+ a
-1
.N
-1
+ ... + a
-n
.N
-n
Hay:
∑
−
−=
=
1m
ni
i
i(N)
NaA
(1.1)
i N=10 (h thp phân):
A
(10)
= a
m-1
.10
m-1
+ a
m-2
.10
m-2
+....+ a
0
.10
0
+...+ a
-n
.10
-n
1999,959
(10)
=1.10
3
+ 9.10
2
+ 9.10
1
+ 9.10
0
+ 9.10
-1
+ 5.10
-2
+ 9.10
-3
i N=2 (h nh phân):
A
(2)
= a
m-1
.2
m-1
+ a
m-2
.2
m-2
+...+ a
0
.2
0
....+a
-n
2
-n
1101
(2)
= 1.2
3
+1.2
2
+ 0.2
1
+ 1.2
0
= 13
(10)
i N=16 (h thp lc phân):
A
(16)
= a
m-1
.16
m-1
+ a
m-2
.16
m-2
+...+ a
0
.16
0
+ a
-1
16
-1
+ ... + a
-n
16
-n
3FF
(16)
= 3.16
2
+ 15.16
1
+ 15.16
0
= 1023
(10)
i N=8 (h bát phân):
A
(8)
= a
m-1
.8
m-1
+ a
m-2
.8
m-2
+...+ a
0
.8
0
+ a
-1
.8
-1
+ ... + a
-n
.8
-n
376
(8)
= 3.8
2
+ 7.8
1
+ 6.8
0
= 254
(10)
Nh vy, biu thc (1.1) cho phép i các s bt k h nào sang h thp phân (h 10).
1.1.3. i c s
1. i t c s d sang c s 10
chuyn i mt s hm c s d sang hm c s 10 ngi ta khai trin con s trong c
d di dng a thc theo c s ca nó (theo biu thc 1.3).
Ví d 1.1
i s 1101
(2)
h nh phân sang h thp phân nh sau:
1011
(2)
= 1.2
3
+ 0.2
2
+ 1.2
1
+ 1.2
0
= 11
(10)
2. i t c s 10 sang c s d
chuyn i mt s t c s 10 sang c s d (d = 2, 8, 16) ngi ta ly con s trong c s 10
chia liên tip cho d n khi thng s bng không thì dng li. Kt qu chuyn i có c trong
m c s d là tp hp các s d ca phép chia c vit theo th t ngc li, ngha là s d
u tiên có trng s nh nht. (xem ví d 1.2)
Chng 1. H thng sm và khái nim v mã Trang 3
Ví d 1.2:
t lun: Gi d
1
, d
2
, ..,d
n
ln lt là d s ca phép chia s thp phân cho c s d ln th 1, 2,
3, 4, .., n thì kt qu chuyn i mt s t hm c s 10 (thp phân) sang hm c s d s là:
d
n
d
n-1
d
n-2
...d
1
,
ngha là d s sau cùng ca phép chia là bít có trng s cao nht (MSB), còn d su tiên là bít
có trng s nh nht (LSB).
Trong các ví d trên, c s ca hm c ghi dng ch s bên di. Ngoài ra cng có th ký
ch phân bit nh sau:
B - H nh phân (Binary) O - H bát phân (Octal)
D - H thp phân (Decmal) H - H thp lc phân (Hexadecimal)
Ví d: 1010B có ngha là 1010
(2)
37FH có ngha là 37F
(16)
& Quy tc chuyn i gia các hm c s 2, 8, 16 ?
1.2. HM NH PHÂN VÀ KHÁI NIM V MÃ
1.2.1. Hm nh phân
1. Khái nim
m nh phân, còn gi là hm c s 2, là hm trong ó ngi ta ch s dng hai kí hiu
0 và 1 biu din tt c các s. Hai ký hiu ó gi chung là bit hoc digit, nó c trng cho mch
n t có hai trng thái n nh hay còn gi là 2 trng thái bn ca FLIP- FLOP (ký hiu là FF).
Trong hm nh phân ngi ta quy c nh sau:
- Mt nhóm 4 bít gi là 1 nibble.
- Mt nhóm 8 bít gi là 1 byte.
- Nhóm nhiu bytes gi là t (word), có th có t 2 bytes (16 bít), t 4 bytes (32 bít), ...
hiu rõ hn mt s khái nim, ta xét s nh phân 4 bít: a
3
a
2
a
1
a
0
. Biu din di dng a thc
theo c s ca nó là:
a
3
a
2
a
1
a
0 (2)
= a
3
.2
3
+ a
2
.2
2
+ a
1
.2
1
+ a
0
.2
0
Trong ó:
- 2
3
, 2
2
, 2
1
, 2
0
(hay 8, 4, 2, 1) c gi là các trng s.
- a
0
c gi là bit có trng s nh nht, hay còn gi bit có ý ngha nh nht (LSB - Least
Significant Bit), còn gi là bít tr nht.
1023 16
63 16
3 16
0
15
15
3
A
(10)
=1023
→ A
(16)
=3FFH
13
2
6 2
3
2
1
1
0
1
2
0
1
A
(10)
=13
→ A
(2)
=1101
Bài ging K THUT S Trang 4
- a
3
c gi là bit có trng s ln nht, hay còn gi là bít có ý ngha ln nht (MSB - Most
Significant Bit), còn gi là bít già nht.
Nh vy, vi s nh phân 4 bit a
3
a
2
a
1
a
0
trong ó mi ch s a
i
(i t 0 n 3) ch nhn c hai
giá tr {0,1} ta có 2
4
= 16 t hp nh phân phân bit.
ng sau ây lit kê các t hp mã nh phân 4 bít cùng các giá tr s thp phân, s bát phân và s
thp lc phân tng ng.
& T bng này hãy cho bit mi quan h gia các s trong h nh phân vi các s trong h
bát phân (N=8) và h thp lc phân (N=16)? Tó suy ra phng pháp chuyn i nhanh gia các
này?
thp phân a
3
a
2
a
1
a
0
S bát phân S thp lc phân
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
00
01
02
03
04
05
06
07
10
11
12
13
14
15
16
17
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
ng 1.1. Các t hp mã nh phân 4 bít
chuyn i gia các h thng s m khác nhau gi vai trò quan trng trong máy tính s.
Chúng ta bit rng 2
3
= 8 và 2
4
= 16, t bng mã trên có th nhn thy mi ch s trong h bát phân
ng ng vi mt nhóm ba ch s (3 bít) trong h nh phân, mi ch s trong h thp lc phân
ng ng vi mt nhóm bn ch s (4 bít) trong h nh phân. Do ó, khi biu din s nh phân
nhiu bit trên máy tính tránh sai sót ngi ta thng biu din thông qua s thp phân hoc thp
c phân hoc bát phân.
Ví d 1.3
: Xét vic biu din s nh phân 1011111011111110
(2)
.
1 0 1 1 1 1 1 0 1 1 1 1 1 1 1 0
y, có th biu din : 137376
(8)
theo h bát phân
hoc : BEFE
(H)
theo h thp lc phân.
67
3
7
3
1
EFEB