DANH MỤC TÀI LIỆU
Các hệ đếm thường dùng trong tin học
MODULE 4. CÁC H ĐẾM DÙNG TRONG TIN HC
4.1. H đếm
Để có cơ s hình dung quá trình x lí thông tin xy ra bên trong MTĐT như thế
nào, chúng ta cn có mt s kiến thc v h đếm nh phân. H đếm được hiu như tp các
kí hiu và quy tc s dng tp kí hiu đó để biu din và xác định giá tr các s.
Xét ví d v h đếm La mã
H đếm La mã s dng các kí hiu I, V, X, L, C, D, M. Mi kí hiu ca h đếm
La mã biu th mt giá tr :
I = 1 ; V = 5 ; X = 10 L = 50 ;C = 100 ; D = 500 ; M = 1000
Dưới đây là mt s quy tc tính giá tr được dùng trong h đếm La mã:
Nếu các kí hiu được xếp t trái qua phi theo chiu gim giá tr thì giá tr ca
biu din s tính bng tng giá tr các kí hiu. Ví d MLVI cho giá tr
1000+50+5+1 = 1056.
Nếu trong biu din s tính t trái qua phi có mt cp hai kí hiu mà kí hiu
đứng trước có giá tr nh hơn thi giá tr ca cp đó tĩnh bng hiu hai giá tr.
Không chp nhn các b có nhiu hơn hai kí hiu liên tiếp xếp theo chiu tăng ca
giá tr. Ví d CIX th hin s 109. Biu din IXC không hp l vì nó s gây nhp
nhng không đơn nghĩa vi quy tc tính giá tr.
Như vy, mi kí hiu đại din cho mt giá tr duy nht và không ph thuc vào v
trí ca nó xut hin đâu trong biu din. H đếm loi này gi là h đếm không theo v
trí.
Chúng ta thường s dng h đếm thp phân. H thp phân dùng là mười ký hiu
là các ch s 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Trong h đếm này giá tr ca mi ch s ph thuc
vào v trí ca nó trong biu din. Ví d, trong s 545, ch s 5 hàng đơn v ch 5 đơn v
trong khi đí ch s 5 hàng trăm ch 500 đơn v. H đếm mà giá tr ca các kí hiu trong
biu din s ph thuc vào v trí được gi là h đếm theo v trí.
S lượng các ch s được s dng (10 ch s) gi là cơ s ca h đếm. Quy tc
tính giá tr là mi đơn v mt hàng bt k có giá tr bng 10 đơn v ca hàng kế cn bên
phi. Do đó, giá tr ca mt biu din có th viết dưới dng mt đa thc ca cơ s.
Ví d. 536,4 = 5.10 2 + 3.10 1 + 6.10 0 + 4.10 -1
H đếm thp phân ch là mt trường hp riêng khi chn cơ s là 10. Thc ra, bt
kì mt s t nhiên b nào ln hơn 1 đều có th chn làm cơ s cho h đếm. Các kí hiu
được dùng cho h đếm đó s là ký hiu đại din cho các giá tr: 0, 1..., b-1. Nếu mt s N
trong h đếm cơ s b nếu có biu din là :
N = dnd n-1 d n-2... d 1 d 0, d -1 d -2... d -m
thì giá tr ca N được tính theo công thc :
N = dn bn + dn-1 bn-1 +...+ d0 b0 + d-1 b-1 +... + d-m b-m
đây các di tha mãn điu kin 0 di < b còn n là s lượng các ch s bên trái,
và m là s lượng các ch s bên phi du phân chia phn nguyên và phn l ca s N. Có
th chng minh được rng vi mi s t nhiên N có và có duy nht mt cách biu din N
dưới dng đa thc theo lu tha ca b.
Ví d s 17 trong h đếm cơ s 3 có biu din là 122 vì
17 = 1.32 + 2.31+ 2.30
Trong tin hc người ta thường dùng mt s h đếm sau đây:
H đếm nh phân là h đếm cơ s 2 vi hai ch s là 0 và ch s 1
H đếm cơ s mười sáu còn gi là h Hexa. H Hexa s dng các kí hiu : 0, 1,
2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D,E, F.
Trong các trường hp cn thiết, để phân bit s được biu din h đếm nào
người ta viết cơ s làm ch s cho s đó. Ví d. 1012, 516.
Sau đây là 16 s nguyên đầu tiên các h đếm 10, 2 và 16
Bng 4.1. Biu din ca các s t 0 ti 15 trong các h nh phân và 16
Thp phân Nh phân H16 Thp phân Nh phân H16
0 0 0 8 1000 8
1 1 1 9 1001 9
2 10 2 10 1010 A
3 11 3 11 1011 B
4 100 4 12 1100 C
5 101 5 13 1101 D
6 110 6 14 1110 E
7 111 7 15 1111 F
4.2. Tìm biu din s
4.2.1. Biến đổi s h đếm bt k sang h đếm thp phân
Cho s N trong h đếm cơ s b :
N = (d n d n-1 d n-2... d 1 d 0, d -1 d -2... d -m)b
Trước hết xét trường hp N là nguyên. Để tìm biu din ca s nguyên N trong h
đếm thp phân, ta tiến hành các bước sau:
- Viết N dưới dng đa thc ca cơ s b :
N = dn bn + dn-1 bn-1 + dn-2 bn-2 +...+ d0
ri tính giá tr ca đa thc này. Để gim s lượng phép tính khi tính giá tr ca đa
thc tt hơn hết là tính theo sơ đồ Horner
N = d0 + b(d1 + b(d2 + b(d3 +...bdn )))...)
Trong trường hp s có phn l thì sơ đồ Horner mt hiu lc, ta phi đổi phn l
riêng ri cng li. Ví d
1110,1012 = ?10. Thc hin theo sơ đồ trên, ta có:
11102 = 0 + 2(1+2(1+2.1))) = 14
Còn phn l 0,101 2 = 1.2-1 + 1.2-3 = 0.5 + 0.125 = 0.635
Vy 1110,1012 = 14.62510
Mt ví d khác.
D3F,4 16 = ?10. Cũng thc hin như trên, ta có:
D3F 16 = F + 16(3 + 16.D)
= 15 + 16(3 + 16.13)
= 3391
Còn phn l 0,4 chính là 4.16-1
= 3328 + 48 + 15 + 0,25 = 3391,25
Vy, D3F,416 = 3391,2510
4.2.2. Biến đổi s h đếm thp phân sang h đếm có cơ s bt kì
Trước hết ta tách phn nguyên và phn l ri tiến hành biến đổi chúng riêng bit.
Sau đó chúng ta s ghép li để có kết qu cn tìm.
Biến đổi s nguyên
Cho N là s t nhiên. Ta viết N dui dng da thc:
N = dn bn + dn-1 bn-1 +...+ d0
Nhn xét rng, 0 d0 < b. Do vy, khi chia N cho b thì phn dư ca phép chia đó
là d0 còn thương s N1 s là:
N1 = dn bn-1 + dn-1 bn-2 +...+ d1 (2).
Tương t, d1 chính là phn dư ca phép chia N1 cho b. Gi N2 là thương ca
phép chia y. Quá trình chia như vy được thc hin liên tiếp và ta s ln lượt nhn đựơc
giá tr các di. Quá trình s dng li khi nhn được thương s bng 0. Để có biu din cn
tìm, các phn dư thu được cn sp xếp theo th t ngược li.
Ví d. 52 10 = ? 2 = ? 16. Sơ đồ chia liên tiếp dưới đây minh ho quá trình thc
hin theo thut toán nói trên.
Bng 4.2. Đổi phn nguyên mt s h 10 sang h 2 và sang h 16
Như vy 52 10 = 110100 2= 34 16
Biến đổi phn l
Kí hiu N’ là phn l (phn sau du phy thp phân) ca s N. Gi s N’ được
biu din dưới dng đa thc ca cơ s b như sau:
N’ = d-1 b -1 + d-2 b-2 +... d-m b-m (1')
Nhân hai vế ca (1') vi b, ta thu được:
N1’ = d-1 + d-2 b-1 +... d-m b-(m -1)
Ta nhn thy, d-1 chính là phn nguyên ca kết qu phép nhân. Còn phn l ca
kết qu là:
N'2 = d-2 b-1 +... d-m b-(m -1) (2')
Lp li phép nhân như trên đối vi (2'), ta thu được d-2 là phn nguyên. Thc hin
liên tiếp phép nhân theo cách trên, cui cùng thu được dãy d-1 d-2 d-3...d-m: trong đó 0 d-1
< b. Đó chính là giá tr ca các ch s trong biu din cn tìm.
Ví d. 0,67875 10 = ?2
Quá trình thc hin được th hin như bng dưới đây (nhân đôi ct bên phi để
đẩy phn nguyên v ct s 1:
Bng 4.3. Đổi mt s l sang h đếm cơ s 2
Phn nguyên Phn l
67875
x 2 =
1 2575
x 2 =
0 515
x 2 =
1 03
52 2
0 26 2
0 13 2
1 6 2
0 3 2
1 1 2
1 0
52 16
4 3 16
3 0
x 2 =
0 06
x 2 =
0 12
x 2 =
0 24
x 2 =
0 48
x 2 =
0 96
x 2 =
1 92 ...............
Vy 0,67875 10 = 0,101000001... 2
Ví d. 0,843510 = ?16
Các bước tìm kết qu được th hin bng dưới đây:
Bng 4.4. Đổi mt s l sang h đếm cơ s 16
Phn nguyên Phn l
8435
x 16=
13 496
x 16=
7 936
x 16=
14 976
x 16=
15 616 ..........
Lưu ý rng trong h đếm cơ s 16 thì 13 th hin bng ch s D, 14 bng E và 15
bng F. Vy 0,843510 = 0.D7EF16
Quá trình trên trong mt s trường hp có th kéo dài vô hn. Tùy yêu cu v độ
chính xác cn thiết mà quyết định cn dng bước nào. Như vy kết qu ca vic đổi
mt s có mt s hu hn ch s l trong h đếm cơ s này có th cho ra mt s có vô
hn (tun hoàn) ch s l trong h đếm cơ s khác.
4.2.3. Biến đổi s biu din trong các h đếm đặc bit
V nguyên tc có th đổi bt c mt biu din s trong h đếm cơ s b1 bt k
sang mt biu din s trong mt h đếm cơ s b2 bt k khác. Điu rc ri là ch ta
phi nh được bng nhân và bng chia trong s hc ca các s biu din trong cơ s b1
hoc b2. Nếu không biết được bng nhân và chia thì có th ta phi đổi hai ln thông qua
mt h đếm trung gian mà ta đã biết bng nhân và chia như h thp phân chng hn. Khi
đó để đổi mt s x trong mt h đếm cơ s b1 sang h đếm ca cơ s b2 ta có th đổi x
thành biu din trong h thp phân ri t đó tìm biu din ca chúng trong h đếm cơ s
b2.
Trong mt s trường hp đặc bit khi b1 và b2 là lu tha ca nhau thì có th đổi
mt cách trc tiếp mt cách d dàng. Nếu b1 = b2 k thì trong h đếm cơ s b2, b1 s
biu din là 100...00 vi k ch s 0. Vic chia hay nhân mt s vi 100...00 thc cht là
tách tng nhóm k ch s. Ví d có s 932452356 mà ta phi chia và tách phn dư liên
tiếp vi s chia là 100 thì kết qu s là các nhóm s.
9 | 32 | 45 | 23 | 56
Ta áp dng nhn xét này để đổi biu din s gia h đếm cơ s 2 và cơ s 16 là
hai h đếm thường dùng trong tin hc. Trong trường hp này 16 = 24.
Biến đổi s ca h đếm nh phân và h đếm cơ s 16
Quy tc thc hành sau để đổi biu din t h nh phân sang h 16 như sau:
Gp các ch s nh phân thành tng nhóm bn ch s v hai phía k t v trí phân
cách phn nguyên và phn l.
Thay mi nhóm 4 ch s nh phân bi mt ch s tương ng h đếm 16.
Ví d. 1011100101,112. Ta gp thành tng nhóm bn ch s nh phân:
0010 1110 0101,1100 2
Thay tương ng mi nhóm tương ng bng mt ch s h 16 (xem bng tương
ng gia các s h 2 h 10 và h 16 trên)
2 E 5, C 16
T đó, 1011100101.112 = 2E5,C16
Để đổi ngược li, s h 16 sang s h nh phân ta ch cn thay tng ch s
h 16 thành nhóm 4 ch s tương ng h nh phân.
Ví d. 3,D7EF16= 11.1101 0111 1110 11112
4.3. S hc nh phân
Tương t như s hc thp phân, s hc nh phân cũng bao gm 4 phép toán cơ bn
: cng, tr, nhân, chia. Cách thc hin các phép toán đó là tương t như các
phương pháp đã biết đối vi s thp phân. Sau đây là bng cng và nhân các s 1
bit
Bng 4.5. Bng cng và nhân trong h nh phân
x y x+ y x.y
0 0 0 0
0 1 1 0
1 0 1 0
1 1 10 1
thông tin tài liệu
những điều cần biết về các hệ đếm thường dùng trong tin học để sử dụng chúng một cách hiệu quả
Mở rộng để xem thêm
từ khóa liên quan
xem nhiều trong tuần
yêu cầu tài liệu
Giúp bạn tìm tài liệu chưa có

LÝ THUYẾT TOÁN


×