Tài liu ging dy hc phn Kiến Trúc Máy tính (110079) ......................................................... 46
BÀI 3
BIU DIN D LIU TRONG MÁY TÍNH
3.1.H thng s:
3.1.1. Khái nim thông tin:
Để hóa thông tin trong máy tính, người ta dùng các tín hiu đin thế. Thường tín hiu trong
khong 00.8V đại din cho mt giá tr 0 (nh phân) và tín hiu có mc đin thế bt k trong khong
25V đại din cho giá tr 1 (nh phân). (Hình 3.1).
thời gian
t
1
t
2
0.8v
0v
2v
5v
Hình 3 .1 Biu din tr nh phân qua đin thế
Trong Hình 3.1, quy ước có hai trng thái ý nghĩa: trạng thái thp khi hiu đin thế thấp hơn
0.8V và trng thái cao khi hiu đin thế lớn hơn 2V. Để có thông tin, ta phi xác định thi đim ta quan
sát trng thái ca tín hiu. Thí d, ti thi đim t
1
thì tín hiu trng thái thp và ti thi đim t
2
thì tín
hiu trng thái cao.
3.1.2. ng thông tin và s mã hoá thông tin
Thông tin được đo lường bng đơn vị thông tin ta gọi bit. Lượng thông tin được định
nghĩa bởi công thc:
I = Log
2
(N)
Trong đó:
I: là lượng thông tin tính bng bit
N: là s trng thái có th
Vy mt bit ng vi mt trng thái trong hai trng thái có th có. Hay nói cách khác, mt bit
th biu din hai trng thái 0 hoc 1. Ví d, để biu din mt trng thái trong 8 trng thái th có, ta
cn mt s bit ng vi một lượng thông tin là:
I = Log
2
(8) = 3 bit
Tám trng thái được ghi nhn nh 3 s nh phân (mi s nhphân có th có giá tr 0 hoc 1).
Mc tiêu hc tp: Sau khi học xong bài này, người hc có th:
- Trình bày các khái nim v thông tin, lượng thông tin, mã hóa thông tin.
- Mô t các h thng s cơ bản.
- Thực hiện chuyển đổi cơ số hệ B sang hệ thập phân và ngược lại.
- Thc hin tính toán h thng s bằng phương pháp số bù.
- Mô t s nguyên thành các dng khác.
- Mô t cách biu din ký t.
Tài liu ging dy hc phn Kiến Trúc Máy tính (110079) ......................................................... 47
Như vậy lượng thông tin là s con s nh phân cn thiết để biu din s trng thái có th có. Do
vy, mt con s nh phân được gi mt bit. Mt t (word) n bit th ợng trưng một trng thái
trong tng s 2
n
trng thái mà t đó có thể ợng trưng.
Ví d: Nếu dùng 3 bit (A2, A1, A0) để biu din thông tin, ta s có được 8 trng thái khác nhau
(Hình 3,2)
A2
A1
A0
Trng thái
0
0
0
0
0
0
1
1
0
1
0
2
0
1
1
3
1
0
0
4
1
0
1
5
1
1
0
6
1
1
1
7
Hình 3.2 Biu din 3 bit thông tin thành 8 trng thái
Như vy trong máy tính thì mi th đềuđược biu diễn dưới dng hai con s là 0 1. Nhưng
thế gii thc ca chúng ta thì thông tin li các khái niệm như con số, ch cái, hình nh, âm
thanh,….Cho nên để đưa các thông tin vào máy tính thì ta cn chuyển đổi thông tin thc thành nhng
con s 0 và 1. Công vic này ta gi là s mã hóa thông tin.
Để biu din d liu trong máy tính chúng ta cn có các quy tắc “gắn kết” các khái nim trong
thế gii tht vi mt dãy gm các con s 0 và 1
3.1.3. Khái nim h thng s:
Cơ sở ca mt h thng s định nghĩa phạm vi các giá tr có th ca mt ch s. Ví d: trong
h thp phân, mt ch s có giá tr t 0 đến 9, trong h nh phân, mt ch s (mt bit) ch có hai giá tr
là 0 hoc 1.
Dng tng quát để biu din giá tr ca mt s:


Trongđó:
V
k
S cn biu din giá tr.
m S th t ca ch s phn l (phn l ca s mch s được đánh s th t t -1
đến -m).
n-1 S th t ca ch s phn nguyên (phn nguyên ca s n ch s được đánh s
th t t 0 đến n-1).
b
i
Giá tr ca ch s th i
k
i
H s đếm(k=10: h thp phân; k=2: h nh phân;k=8: h bát phân; ..).
Tài liu ging dy hc phn Kiến Trúc Máy tính (110079) ......................................................... 48
Ví d: Biu din s thp phân (541.25)
10
(541.25)
10
= 5 * 10
2
+ 4 * 10
1
+ 1 * 10
0
+ 2 * 10
-1
+ 5 * 10
-2
= (500)
10
+ (40)
10
+ (1)
10
+ (2/10)
10
+ (5/100)
10
3.1.4. Các h thống đếm cơ bản:
3.1.4.1. Thp phân (Decimal, h B=10)
Dùng 10 ch s 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 để biu din s. Ví d s (541.2)
10
trong h thp phân
biu din một đại lượng:
n=2
1
0
-1
Trng s
5
4
.
2
=5*10
2
+ 4*10
1
+1*10
0
+2*10
-1
5*B
n
4*B
n-1
.
2*B
n
=(500)
10
+ (40)
10
+ (1)
10
+ (2/10)
10
5*10
2
4*10
1
.
2*B
n
=(500)
10
+ (40)
10
+ (1)
10
+ (2/10)
10
3.1.4.2. Nh phân (Binary, h B=2))
Dùng hai ch s 0 1 để biu din s. Ví d: s m =1101.011 h nh phân biu din một đại
ng
(101)
2
= 1*2
2
+0*2
1
+1*2
0
=(5)
10
(1101.011)
2
= 1*2
3
+1*2
2
+0*2
1
+1*2
0
+0*2
-1
+1*2
-2
+1*2
-3
=(13.0375)
10
3.1.4.3. Bát phân (Octal, h B=8))
Dùng tám ch s 0, 1, 2, 3, 4 ,5 6, 7 để biu din s. Ví d:
(
27
)
8
= 2*8
1
+7*8
0
= (23)
10
(
6327.405
)
8
= 6*8
3
+3*8
2
+2*8
1
+7*8
0
+4*8
-1
+0*8
-2
+5*8
-3
3.1.4.4. Thp lc phân (Hexadecimal, h B=16))
Dùng 16 ch s 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F đ biu din s. Trong đó
t
ương
đương v
i
h 10
t
h
ì
A=10, B=11, C=12, D=13, E=14, F=15.Ví d:
(
6F
)
16
= 6*16
1
+F*16
0
= 6*16
1
+15*16
0
=
96+15= (111)
10
C
ý
:
M
i
con s
h
t
h
p
l
c ph
â
n đ
ượ
c b
i
u d
i
n b
ng
t
p h
p 4 s
h nh
ph
â
n (
v
í
d: 5
16
= 0101
2
)
3.1.5. Chuyển đổi cơ số h B sang h thp phân:
Vic chuyển đổi phn nguyên t h cơ số B sang h 10, theo công thc tng quát (*)

(*)
Chuyn mt s h số B có c phn nguyên phn phân sang h thp phân theo công thc
tng quát (**)

(**)
Vi P=P
n
P
n-1
. . . P
1
P
0
P
-1
P
-2
. . . .P
-m
Tài liu ging dy hc phn Kiến Trúc Máy tính (110079) ......................................................... 49
Ví d 1: Chuyn h nh phân (B=2) sang h thp phân:
(1101.011)
2
= (xx.xx)
10
n
n=3
2
1
0
-1
-2
m=-3
(
1101.011)
B=2
1
1
0
1
.
0
1
1
D=
P
3
B
3
P
2
B
2
P
1
B
1
P
0
B
0
P
-1
B
-1
P
-2
B
-2
P
-3
B
-3
D=
1*2
3
1*2
2
0*2
1
1*2
0
0*2
-1
1*2
-2
1*2
-3
D=
1*2
3
+1*2
2
+0*2
1
+1*2
0
+0*2
-1
+1*2
-2
+1*2
-3
D=
1*8 +1*4 +0*2 +1*1 +0*2
-1
+ 1*2
-2
+1*2
-3
D=
(14.375)
10
Ví d 2: Chuyn h bát phân (B=8) sang h thp phân:
(
6327.405
)
8
= (xx.xx)
10
i
n=3
2
1
0
-1
-2
m=-3
(
6327.405
)
B=8
6
3
2
7
.
4
0
5
D=
P
3
B
3
P
2
B
2
P
1
B
1
P
0
B
0
P
-1
B
-1
P
-2
B
-2
P
-3
B
-3
D=
6*8
n=3
3*8
n-1=2
2*8
n-2=1
7*8
n-3=0
4*8
-1
0*8
-2
5*8
-3
D=
6*8
3
+3*8
2
+2*8
1
+7*8
0
+4*8
-1
+0*8
-2
+5*8
-3
D=
(3287.509766)
10
(56.71)
8
Ví d 3:Chuyn h thp lc phân (B=16) sang h thp phân:
(6E2B
.10F
)
16
= (xx.xx)
10
i
n=3
2
1
0
-1
-2
m=-3
(6E2B
.10F
)
B=16
6
E
2
B
.
1
0
F
D=
P
3
B
3
P
2
B
2
P
1
B
1
P
0
B
0
P
-1
B
-1
P
-2
B
-2
P
-3
B
-3
D=
6*16
3
14*16
2
2*16
1
11*16
0
1*16
-1
0*16
-2
15*16
-3
D=
6*16
3
+14*16
2
+2*16
1
+11*16
0
+1*16
-1
+0*16
-2
+15*16
-3
D=???
(28203.0661621093)
16
3.1.6. Chuyển đổi cơ số h thp phân sang h B:
Quy tc: Người ta chuyn đổi tng phn nguyên và l theo quy tc sau:
Phn nguyên: Chia s cn đổi cho B, ly kết qu chia tiếp cho B cho đến khi kết qu bng 0.
S cơ số B chính là các s dư (của phép chia) viết ngược.
Phn l: Nhân liên tiếp phn l choB, gi li các phn nguyên được to thành. Phn l ca s
h B s là dãy liên tiếp phn nguyên sinh ra sau mi phép nhân tính t ln nhân đầu đến ln nhân cui.
Tài liu ging dy hc phn Kiến Trúc Máy tính (110079) ......................................................... 50
Ví d 4:Chuyn h thp phân sang h nh phân (B=2): (20.125)
10
=(xx.xx)
2
Tính phn nguyên, lặp đi lặp li phép chia 2: (20)
10
S chia h B=2
Phần thương
Phần dư
20/2
10
0
10/2
5
0
5/2
2
1
2/2
1
0
1/2
0
1
Phn nguyên (20)
10
=(1 0100)
2
Tính phn l, lặp đi lặp li phép nhân 2: (.125)
10
S nhân h B=2
Phn tích
Phn nguyên
0.125x2
0.25
0
0.25x2
0.5
0
0.5x2
1.0
1
0.0x2
0
Phn l (.125)
10
=(.001)
2
Vy : (20.125)
10
=(1 0100.001)
2
Ví d 5: Chuyn h thp phân sang h thp lc phân (B=16):(380.125)
10
=(xx.xx)
16
Tính phn nguyên, lặp đi lặp li phép chia 2: (375)
10
S chia h B=16
Phần thương
Phần dư B=10
B=16
380/16
23
12
C
23/16
1
7
7
1/16
0
1
1
0/16
0
0
Phn nguyên (375)
10
=(177)
16
Ví d 5’: Vy : Phn nguyên (380)
10
=(17C)
16 //
(380)
10
=(1712)
16
Tính phn l, lặp đi lặp li phép nhân 16: (.125)
10
S nhân h B=16
Phn tích
Phn nguyên
0.125x16
2.0
2
0.0x16
0
Phn l(.125)
10
=(.2)
16
Vy :(380.125)
10
=(17C.2)
16
(375.125)
10
=(177.2)
16
3.1.7. Chuyển đổi cơ số 2-8-16:
Quy tc:T phi sang trái, gom 3 ch s nh phân thành mt ch s bát phân hoc gom 4 ch
s nh phân thành mt ch s thp lc phân.
001101111001100011 h nh phân
010051171011141131 h bát phân
D100E11260113411h thp lc phân
Tài liu ging dy hc phn Kiến Trúc Máy tính (110079) ......................................................... 51
ng 3.2 cho ta các chuyển đổi tương ứng t các h s vi nhau.
H thp phân
Decimal
Nh phân
Binary
Bát phân
Octave
Thp lc phân
Hexadecimal
0
00
0
0
1
01
1
1
2
(10)
2
2
2
3
0011
3
3
4
0100
4
4
5
0101
5
5
6
0110
6
6
7
0111
7
7
8
1000
(10)
8
8
9
1001
9
(10)
10
1010
A
11
1011
B
12
1100
C
13
1101
D
14
1110
E
15
1111
F
(10)
16
Hình 3.3 Bng mô t tương quan g
i
a các h
t
hng s
Ví d 6: Chuyn h cơ số: (11010.11)
2
= (xx.xx)
16
(11010.11)
2
1
1010
.
11
Gom 4 ch s
0001
1010
.
1100
1
A
.
C
(1A.C)
16
Ví d 7: Chuyn h cơ số : (11010.11)
2
= (xx.xx)
8
(11010.11)
2
11
010
.
11
Gom 3 ch s
011
010
.
110
3
2
.
6
(32.6)
8
Tài liu ging dy hc phn Kiến Trúc Máy tính (110079) ......................................................... 52
3.1.8. Các phép toán cho h nh phân
Các phép tính Cng, Trừ, Nhân, Chia cũng được s dng trong s hc Nh phân, vic tính toán
c th được thc hin theo quy tc sau:
3.1.8.1. Phép cng hai s nh phân không du:
Cng nh phân được thc hin theo quy tc (Hình 3.4). Chú ý:
- Khi cng, thc hin t bit có trng s thp đến bit có trng s cao.
- Nếu có s nh thì s nh sinh ra được cng vào bit có trng s cao hơn liền k
S hng 1
S hng 2
Tng
S nh
Kết qu
0
0
0
0
0
0
1
1
0
1
1
0
1
0
1
1
1
0
1
10
Hình 3.4Bng qui tc cng nh phân cho 2 s 1 bit
Ví d 8: Cng 2 s nh phân không du (A+B)
A:
(1011)
2
+B:
+(1100)
2
Tng:
(10111)
2
3.1.8.2. Phép tr hai s nh phân không du:
Phép tr nh phân được thc hin theo quy tc (Hình 3.5)
S hng 1
S hng 2
Hiu s
S vay
0
0
0
0
0
1
1
1
1
0
1
1; 0
1
1
0
0
Hình 3.5 Bng qui tc tr nh phân cho 2 s 1 bit
C
ý
:
- Phép
nh đưc
t
hc h
i
n
t
B
it
t
rng s
t
hp đến B
it
t
rng s cao.
- S vay s được
t
r vào B
it
t
rng s cao hơn bit
li
n k.
Ví d 9: Tr 2 s nh phân không du (A-B)
A:
1011
-B:
-0110
Hiu:
0101
Tuy nhiên trong thc tế, máy tính không tính toán kiểu đó mà chuyển đổi phép tr thành phép
cng vi s 2 của nó. Phương pháp này trong máy tính đưc cho hiu qu hơn và dễ dàng thiết
kế phn cứng cho nó hơn. Số bù có hai loại thường dùng là s bù 1 và s bù 2.
Tài liu ging dy hc phn Kiến Trúc Máy tính (110079) ......................................................... 53
3.2.S
Sđược dùng trong máy tính giúp đơn giản phép toán trcác thao tác logic. Trong h
s r có hai dng s bù: s bù r và s bù (r-1).
Như vậy trong h 10 s 10 9, trong h 8 8 7, trong h 16 16
bù 15, trong h 2 có bù 2 và bù 1.
3.2.1. S bù r-1 ca mt s:
Gi s N A là mt sn ký s trong h s r thì bù r-1 ca N A= (r
n
- 1) A N.
Đối vi h thp phân (r=10), ta r-1=bù 9 ca s thp phân N (10
n
-1)-N. Trong đó 10
n
là mt s gm s 1 và theo saulà n ch s 0
Ví d: 10
4
=10000, vy (10
n
-1) là 10
4
-1=9999.
Ví d 10: Cho A=(43520)
10 (r),
Thc hin vic ly bù 9 ca A
Vy : A là h thp phân vi r=10, có n=5 (ký s), “bù 9”tc là “bù r-1” ca A=43520
10
n=
5
4
3
2
1
A=
4
3
5
2
0
Bù 9 ca A N = (r
n
-1) A N
= (10
5
- 1)
10
- (43520)
10
= (10 0000 -1 )
10
(43520)
10
(10
5
: một trăm nghìn)
= (99999)
10
(43520)
10
= (56479)
10
Vy bù 9 ca (43520)
10
là (56479)
10
Ví d 11: Thc hin vic ly bù 7 ca (43520)
8
H bát phân vi r=8, “bù 7”tc là “bù 8-1” ca N=43520
8
n=
5
4
3
2
1
N=
4
3
5
2
0
Bù 7 ca N (bù r-1) = (r
n
- 1) - N
= (8
5
- 1)
8
- (43520)
8
= (10 0000 -1)
8
(43520)
8
(8
5
: mt và 5 con s 0)
= (7 7777)
8
(43520)
8
= (34257)
8
Vy bù 7 ca (43520)
8
là (34257)
8
((34257)
8
: gi là bù 7 ca 43520
8
)
bù 8 ca (43520)
8
= bù 7 + 1 = (34257)
8
+ 1 =
Tài liu ging dy hc phn Kiến Trúc Máy tính (110079) ......................................................... 54
3.2.2. S bù r ca mt s:
Sr ca mt s được tính bng bù r-1 cng vi 1, tc = (r
n
- 1) N + 1
T Ví d 10, bù 9 ca (43520)
10
là (56479)
10
Vy bù 10 ca 43520 bng bù 9 ca (43520)
10
+ 1 = (56479)
10
+1=56480.
Kết qu bù 10 ca 43520 là 56480
T đây ta có thể tính nhanh bù 10 theo qui tc:
- Gi nguyên các ký s 0 bên phải cho đến khi gp ký s khác 0.
- Ly 10 tr đi ký số đầu tiên khác 0 đó.
- Ly 9 tr đi các số còn li.
Ví d: Bù 10 ca 347200 là 652800
T Ví d 11, bù 7 ca (43520)
8
là (34257)
8
Vy bù 8 ca (43520)
8
bng bù 7 ca (43520)
8
+ 1 = (34257)
8
+1=(34260)
8
Kết qu bù 8 ca(43520)
8
là =(34260)
8
Ví d 12: t Ví d 9, thc hin (A-B)=(1011-0110)
2
=(0101)
2
.
Thay vì thc hin phép tr, ta có th thc hin bng cách:( A) + bù 2 ca (B) như sau:
H nh phân vi r=2, “bù 2” tc là “bù 1+1” cas B=(0110)
2
n=
4
3
2
1
B=
0
1
1
0
Bù 2 ca B = (r
n
1) B + 1
= (2
4
-1)
2
(0110)
2
+1
= (10000-1)
2
(0110)
2
+1
= (1111)
2
(0110)
2
+1
= (1001)
2
+1 = (1010)
A
(1011)
2
+Bù 2 ca B
(1010)
2
Tng
1(0101)
2
3.2.3. Phép tr s không du:
Phép tr hai s A và B không du (gm n ký s và N 0) trong cơ số r theo qui tc:
A-B (gm n ký s)
S b tr:
A
Cng (Bù r ca B):
B
r
Tng (A+B
r
):
Nếu > n ký s (tràn)
Nếu = n ký s (không tràn)
B tràn:
-r
n
(Bù r ca ):
r
Vy:A-B :
-r
n
Vy:A-B :
-
r
Tài liu ging dy hc phn Kiến Trúc Máy tính (110079) ......................................................... 55
Ví d 13: Xét A-B: (72532 13250)
10
bng cách ly bù 10. (tr bình thường = 59282)
A: 72532, B: 13250 có 5 số, do đó n=5, r=10. Thc hin theo quy tc (A-B) như sau:
A:
(7 2532)
10
Cng (Bù 10 ca B):
+(8 6750)
10
Tng ():
(15 9282)
10
do
có 6 ký s >n=5, nên
B tràn(-10
5
):
(10 0000)
10
Vy A-B:
(5 9282)
10
Ví d 14: Xét M-N: (13250 - 72532)
10
////chính VD13: B-A
M, N có 5 ký số, do đó n=5, r=10. Thực hin theo quy tc trên:
M:
(13250)
10
+Bù 10 ca N:
(27468)
10
Tng (M+N):
(40718)
10
do
có 5 ký s =n, nên tràn
Bù 10 ca tng:
(59282)
10
Vy M-N:
-(59282)
10
Ví d 15: Xét A-B: (101 0100-100 0011)
2
(54
HEX
-43)
HEX
A, B là nh phân, có 7 ký số, do đó n=7, r=2. Thực hin theo quy tc trên:
A:
(101 0100)
2
+Bù 2 ca B:
(011 1101)
2
Tng:
(1001 0001)
2
do
có 8 ký s >n=7, nên
B tràn (-2
7
):
(1000 0000)
2
Vy A-B:
(0001 0001)
2
Ví d 16: Xét A-B: (100 0011 - 101 0100)
2
A, B có 7 ký số, do đó n=7, r-2. Thc hin theo quy tc trên:
A:
(100 0011)
2
+Bù 2 ca B:
(010 1100)
2
Tng:
(110 1111)
2
do
có 7 ký s =n, nên
Bù 2 ca Tng:
(001 0001)
2
Vy A-B:
-(001 0001)
2
Ví d 16 (b sung): Xét M-N: (13250 - 72532)
8
////chính VD13: B-A
M, N có 5 ký số, do đó n=5, r=8. Thc hin theo quy tc trên:
M:
(13250)
8
+Bù r=8 ca N:
(05246)
8
Tng (M+N)):
(20516)
8
do
có 5 ký s =n, nên tràn
Bù r=8 ca tng:
(57262)
8
Vy M-N:
-(57262)
8
Bù 10=bù 9+1
Bù 10 ca B=13250, tc
B=13250 có 5 kí s (n=5)
Bù 9=Bù 9 s 13250
=(r
n
-1)-13250
=(10
5
-1)-13250
Bù 9=(9 9999)-1 3250= 8 6749
Bù 10=86749+1=86750
Vy bù 10 ca (13250) là 86750
Bù 2=bù 1+1
=Bù 2 s B=100 0011
=Bù 1 s 100 0011+1
=(2
7
-1)- 100 0011+1
=(1000 0000-1)
= (0111 1111) -
B: 100 0011
011 1100 +1
Bù 2 ca B=011 1101
=Bù 10 ca s N=72532
=Bù 9 ca s 72532 +1
=(r
n
-1)-N+1
=(10
5
-1)- 72532+1
=(99999)- 72532+1
Vy bù 10 ca N=72532
27468
=Bù 10 ca s T=40718
=Bù 9 --- +1
=(r
n
-1)-T+1
=(10
5
-1)- 40718+1
=(99999)- 40718+1
Vy 10 ca T=40718
59282
=Bù 8 ca s N=72532
=Bù 7 ca s 72532 +1
=(r
n
-1)-N+1
=(8
5
-1)
8
- 72532+1// (8
5
)
10
= 32768
=(10 0000-1)
8
- 72532+1
=(7 7777)
8
- (72532)
8
+1
=bù 7+1 = 05245+1
Vy bù 8 ca N=72532 là 05246
=Bù 8 ca s T=20516
=Bù 7 --- +1
=(r
n
-1)-T+1
=(8
5
-1)- 20516+1
=(7 7777)
8
- (2 0516)
8
+1
=(5 7261)
8
+1
Vy 8 ca T=20516
57262
= (9+1)
10
= 0 nh 1=(10)
10
= (7+1)
8
= 0 nh 1=(10)
8
= (5+4)
8
= (5+2+1+1)
8
=
= (7+1+1)
8
= (10)
8
+1
8
= (11)
8
= (5+4)
8
= 1 nh 1
99+1=100, đc 0 nhớ 1
(7+1=10)
8
F+1=10; (10)
16
-1 =F
Tài liu ging dy hc phn Kiến Trúc Máy tính (110079) ......................................................... 56
r= 16 , n=3 Bù 15 ca s N=(101)
16
=(r
3
-1)2 N
=(1000-1)
16
- N
=(FFF)
16
- (101)
16
Tài liu ging dy hc phn Kiến Trúc Máy tính (110079) ......................................................... 57
3.3.S nguyên
S nguyên n bit có dấu được biu din tr tuyệt đối và du dưới dng: dấu lượng, bù 1, bù 2.
3.3.1. S nguyên có dấu được biu din dng dấu lưng:
Cách biu din này là bit cao nhất luôn tượng trưng cho dấu
Bit có giá tr 0: s đó là số dương.
Bit có giá tr 1: s đó là số âm.
Ví d 17: Dùng 8 bit biu din s +25 và -25 dưới dng dấu lượng.
Bit du
(bit th 8)
7
6
5
4
3
2
1
(+25)
10
=
0
0
0
1
1
0
0
1
(-25)
10
=
1
0
0
1
1
0
0
1
VD: 0000 0011 : +3
VD: 1000 0011 : -3
Như vậy, theo biu din dng dấu lượng thì:
+25
10
=(0001 1001)
2
-25
10
= (1001 1001)
2
+0
10
=00000000
2
-0
10
=10000000
2
3.3.2. S nguyên có dấu được biu din dng bù 1:
- Đối vi s dương thì biểu din ging du và tr tuyệt đối.
- Đối vi s âm thì được biu diễn dưới dng bit du và giá tr ca s đó ở dng bù 1.
Ví d 18: Dùng 8 bit biu din s +25 và -25 dưới dng bù 1.
Bit du
7
6
5
4
3
2
1
(+25)
10
=
0
0
0
1
1
0
0
1
(-25)
10
=bù 1ca +25=
1
1
1
0
0
1
1
0
Dùng 8 b
it
để b
i
u d
i
n s. Như vy 1 b
it
b
i
u d
i
n du, còn 7 b
it
s b
i
u d
i
n g
i
á
t
r
ca s
đó, nếu
l
à s âm
t
h
ì l
y bù 1các b
it
y.
Ta cũng
t
h h
i
u
l
à s âm đưc b
i
u d
i
n bng cách
l
y bù 1ca s dương k c b
it
du.
3.3.3. S nguyên có dấu được biu din dng bù 2:
- Đối vi s dương thì biu din ging du tr tuyệt đối.
- Đối vi s âm thì đưc biu din dưi dng bit du và giá tr ca s đó dng bù 2.
d 19:ng 8 bit biu din s +25 và -25 dưi dng bù 2.
Bit du
7
6
5
4
3
2
1
Bit du
6
5
4
3
2
1
0
(+25)
10
=
0
0
0
0
1
1
0
0
(-25)
10
=bù 2 ca 25
1
1
1
0
0
1
1
1
Dùng 8 bit đ biu din số, nvy 1 bit biu din du, còn 7 bits biu din gtr ca s đó,
nếu là s âm thì ly bù 2 các bit này.
Chú ý: S ơng biu din c 3 cách là n nhau, ch khác nhau khi s đó số âm.
Tài liu ging dy hc phn Kiến Trúc Máy tính (110079) ......................................................... 58
3.3.4. Cng tr nh phân dùng bù 1:
S du đưc b
i
u d
i
n bng 1
t
heo qu
i t
c sau
:
- Bit ln nht (MSB: Most Significant Bit) làbit du, trong đó 0 là s dương và 1 s
âm.
- Cácbitcòn li biu din tr thcca s dương hoc tr bù1ca s âm.
V
í
d 20
:
Dùng 6 b
it
gm c bit du đ b
i
u d
i
n s : 17=(01 0001)
2
-17 biu din bù 1 ca 17 = (10 1110)
Thc h
i
n phép cng g
i
ng như cộng c s nh
phân không du, cng c b
it
du. Cn
l
ưu ý
l
à cng s nh ca b
it l
n nh
t
o b
it
cu
i
cùng (LSB: Least Significant Bit).
V
í
d 21
:
Thc hin phép tính: 13+11 (-13)+(-11)
13
00 1101
-13
11 0010
+
+
+
+
11
00 1011
-11
11 0100
24
01 1000
-24
10 0110
+
1
10 0111
Trong kết qu nếu bit du 0, tdãy bit sau bit du giá tr kết qu. Còn nếu bit du là
âm tdãy bit sau bit du mi kết qu dng mt. Mun biết gtr thc ca kết qu ta phi
ly 1 ca kết qu mt ln na.
Như trong d 21, kết qu ca phép cng th nht là 01 1000 bit du là 0, vy giá tr
thc ca kết qu là +1 1000 = +24. Còn phép cng th hai có kết qu 10 0111 có bit du là 1, vy
giá tr thc ca kết qu (bù 1 ca 0 0111) = -1 1000 = -24
3.3.5. Cng tr nh phân dùng bù 2
S du được biu din bng 2 theo qui tc sau:
- Bit ln nht (MSB)bit dấu, trong đó 0 là s ơng 1 là s âm.
- Các bit còn li biu din tr thc ca s ơng hoc tr bù 2 ca s âm.
Thc hin phép cng giống như cng các s nh phân khôngdu, cng c bit du. Cần lưu ý
loi b bit nh cui cùng trong kếtqu.
V
í
d 22: Thc hin phépnh: (-12)+(-9)
-12
11 0100
+
+
-9
11 0111
-21
1101011
Kết qu bit du bng 1, vy kết qu là s âm và dãy bit mi ch bù 2 ca kết qu. Mun
kết qu tht ta ly bù 2 mt ln na.
Trong ví d 22, kết qu không tính đến bit nh(b bit nh) 101011 có bit du bng 1 là mt
s âm, tc kết qumi biu din dng 2. Mun biết giá tr tht ca kết qu ta phi ly bù 2
mt ln na.
Tài liu ging dy hc phn Kiến Trúc Máy tính (110079) ......................................................... 59
Tc101011 = - (2 ca 01011) = - (10101) = -21.
Đối vi phép tr ta thc hin thông qua phép cng.
-B = bù 2 ca B
A B = A + (-B) = A + (2 ca B)
V
í
d 23:Thc hin phép nh: 136=13+(-6)
6
=
0000 0110
13
=
00001101
-6
=
1111 1010
Bù 2 ca (-6)
13+(-6)
=
1 0000 0111
B tn
=
1 0000 0000
Kết qu (7)
=
0000 0111
V
í
d 24: Thc hin phépnh: 0111 - 0101
Ta thc hin
0111
chuyn
thành
0111
-0101
+1011
Bù 2 ca 0101
10010
Vy kết qu
0010
V
í
d 25: Thc hin phépnh: 0111 - 0101
Ta thchin
0101
chuyn
thành
0101
-0111
+1001
Bù 2 ca 0111
Vy kết qu
1110
3.3.6. S quá n
S quá n hayn gi s tha n ca mt s N đưc bằngch “cộng thêm” s N vi s
quá n, s n được chn sao cho tng ca n mt s âm bt k luôn luôn dương.
Quy tc chung:
Biu din quá n ca N = biu din nguyên dương ca (N + n)
V
í
d 26: B
i
u d
i
n (q 127) ca 7
l
à: 127+7= (134)
10
=(1000 0110)
2
0
1
2
3
4
5
6
7
Nguyên dương
000
001
010
011
100
101
110
111
-3
-2
-1
0
1
2
3
4
Quá 3
000
001
010
011
100
101
110
111
Tài liu ging dy hc phn Kiến Trúc Máy tính (110079) ......................................................... 60
Cách biu din s nguyên du, bng s 2 được dùng rng rãi cho các phép tính s
nguyên. li không cn thut toán đc bit nào cho c phép tính cng và tính tr, giúp phát
hin d dàng các trưng hp b tràn.
Các cách biu din bằng du ng” hoc bằng s 1 dn đến vic ng các thut tn
phc tp bt li vì luôn hai cách biu din ca s không.
Cách biu din bng “du ợng”được dùng cho phép nhân ca s du chm động.
Cách biu din bng s quá nđược dùng cho s ca cs có du chm đng. Cách này
làm cho vic so sánh các s mũ có du khác nhau tr thành vic so sánh các s nguyênơng.
3.3.7. Cách biu din s vi du chấm động (Floating point number)
Để biu din các con s rt ln hoc rt bé, thì dùng mt cách biu din s gi s chm
động. Trước khi đi vào cách biu din s vi du chấm động, chúng ta xét đến cách biu din mt
s i dng du chm xác đnh.
Ví d 27:
- Trong h thp phân, s (254)
10
th biu din dưới các dng sau:
254*10
0
; 25.4*10
1
; 2.54*10
2
; 0.254*10
3
; 0.0254*10
4
; …
- Trong h nh phân, s (0.00011)
2
(tương đương vi s
0.09375
10
) có th biu diễn dưới
các dng :
0.00011*2
0
; 0.0011*2
-1
; 0.011*2
-2
; 0.11*2
-3
; 1.1*2
-4
; …
Các cách biu diễn này gây kkhăn trong mt s phép so sánh các s. Để d dàng trong
các phép tính, các s đưc chun hoá v mt dng biu din:
1. fff...f x 2
E
đối vi h nh phân, trong đó: f là phần l; E là phần mũ.
Đối vi các h khác thì biu din chấm động đưc gi là chun hóa khi phn định tr ch
duy nht mt ch s n trái du chm thp phân ch s đó khác không mt s ch duy
nht mt biu din chm động đưc chun hóa
d 28:
2.006 × 10
3
(chun)
20.06 × 10
2
(kng)
0.2006 × 10
4
(kng)
Các thành phn ca s chm động bao gm: phn du, phần phần định trị. Nvy,
cáchy cho phép biu din gn đúng các s thc, tt c các s đềung cách biu din.
nhiu cách biu din du chm động, trong đó cách biu din theo chun IEEE 754 được
dùng rng rãi trong khoa hc máy tính hin nay. Trong cách này mt s được biu din dưi dng:
F
=
(-1)
S
*M*R
E
31
30
23
22
0
S
E
M
nh 3.6 B
i
u d
i
n s du chm đng ch
í
nh xác đơn v
i
32 b
it
Trong đó: S: du (Sign bit), M: định trị, R: s, E: mũ (Exponent)
- Du: 1 bit (0 ơng, 1 âm)
- Mũ: 8 bit (t bit 23 đến bit 30) là mt s quá 127 (s có tr t -127 đến 128, tc là t
0000 0000 đến 1111 1111)
Tài liu ging dy hc phn Kiến Trúc Máy tính (110079) ......................................................... 61
- Không biu diễn số (R) vì luôn bng 2
- Phn định tr M 23 bit (t bit 0 đến bit 22) ch biu din phn l (bên phi du chm
s nh phân) vì ch s bên trái du chm ln là 1.
V
í
d 29
:
a) 2006
10
=(-1)
0
*2.006*10
3
b) 209.8125
10
=11010001.1101
2
=1.10100011101
2
*2
7
B
i
u d
i
n (quá127) ca 7
l
à
:
127+7 = 134 = (10000110)
2
Kế
t
qu
:
31
30
23
22
0
S
E
M
0
1000 0110
10 1000 1110 1000 0000 0000
Các phép
nh v
i
s chm động phc
t
p hơn nh
i
u
l
à v
i
s chm
nh,
t
hc h
i
n
l
âu hơn và
phn cng cho nó cũng phc
t
p hơn. Máy
nh kng phn cng
nh
t
oán s chm động, nhưng
c
t
p
t
r
ì
nh con g
i
úp g
i
i
c bài
t
oán v
i
s chm đng.
3.4.Biu din s BCD (Binary Coded Decimal)
Con ngư
i t
hường quen v
i
h
t
hp phân,
t
rong kh
i
máy
nh
l
i
ch
t
h
í
ch hp v
i
h nh
phân.
Do đó kh
i
nhp xu
t
d
li
u
t
hưng
l
à nhp xu
t t
heo dng
t
hp phân. Nếu v
i
c nhp xu
t
s
t
hp
phân không nh
i
u
t
h
ì
t
h chuyn s h 10 kh
i
nhp sang h 2. T
í
nh
t
oán xong
t
heo h 2 r
i l
i
chuyn ngược
l
i
sang h 10
t
rước kh
i
xu
t
ra ngoà
i
. Nếu nhp xu
t
nh
i
u
t
h
ì
v
i
c chuyn đổ
i
s
l
àm
m
t
nh
i
u
t
h
i
g
i
an x
l
ý. M
t
khác m
t
i
ng dng, đặc b
i
t
ng dng qun
l
ý, b
t
buc các pp
nh
t
hp phân ph
i
ch
í
nh c, không
l
àm
t
ròn s. V
i
m
t
s b
it
c đ
nh,
t
a không
t
h đổ
i
m
t
cách
ch
í
nh xác s nh
phân
t
nh s
t
hp phân và ngưc
l
i
.
H
t
hp phân
Decimal
BCD
(Binary Coded Decimal)
0
0000
1
0001
2
0010
3
0011
4
0100
5
0101
6
0110
7
0111
8
1000
9
1001
Hình 3.7 Bng mô t s
t
hp phân mã bng nh
phân
V
ì
vy, kh
i
cn ph
i
dùng s
t
hp phân,
t
a có
t
h dùng m
t
cách khác, đó
l
à ch b
i
u d
i
n s
t
hp phân bng nh
phân (BCD
:
B
i
n
a
r
y
Coded Dec
i
m
a
l
). Theo đó m
i
s
t
hp phân nhp o
máy s đưc mã a
t
heo dng BCD bng ch chuyn m
i
ký s h 10
t
hành 4 b
it
s nh
phân như
t
rong nh 3.7. Sau đó v
i
c
nh
t
oán s
t
hc h
i
n
t
rc
ti
ếp
t
n BCD. T
í
nh
t
oán xong
t
h
ì l
i
Tài liu ging dy hc phn Kiến Trúc Máy tính (110079) ......................................................... 62
chuyn ra ngoà
i t
heo dng
t
hp phân. Kh
i
đó, nếu v
i
c
nh
t
oán
l
à kng nh
i
u, hoc v
i
c
nh
t
oán
l
à đơn g
i
n
t
h
ì
s BCD s g
i
úp c
i t
h
i
n đáng k
t
c đ x
l
ý.
Biu din s dng BCD s tốn kém hơn nhiu biu din dng nh phân mi s BCD cn ti
4 bit. d 3257 có dng BCD 0011 0010 0101 0111, tc phi dùng 16 bit, trong khi h nh
phân ch cn 12 bit (110010111001). Con s càng ln thì s chênh lnh ca càng nhiu, trong khi
b nh thì có hn, cho nên đây là một nhược đim rt ln ca dng s BCD.
Để thiết kế mch tính toán thập phân cũng đòi hi độ phc tp nhiều hơn, tuy nhiên thuận
li là vic tính toán đều bng thp phân và cho kết qu chính xác hơn.
Mt s ng dụng như xdliệu thương mi - kinh tế thường tính toán ít hơn so vi khi d
liu nhp xut. vy mt s máy các máy tính tay đều tính toán trc tiếp trên s thp phân.
Mt s máy khác li có kh năng tính toán trên cả thp phân và nh phân.
Đim khác bit rõ nht vi các h khác khi tính toán là khi kết qucng nếu các sốvượt quá
kết qu cho phép trong khong t 0000 đến 1001 hoc nh khi cng thì phi sa sai bng cách cng
thêm 0110 vào ký s b sai.
V
í
d 30: phép cng s BCD biu din theo s nh phân: (27+36)
BCD
Dec
BCD
27
0010 0111
+
36
+
0011 0110
0101 1101
Đưc
K. qu sai (do 1101 t bng BCD)
+
0000 0110
sa sai, bng cách cng HNG S: 0110 vi ký s SAI
63
0110 0011
Kết qu (đúng)-> hin th
Tương tự khi tr s BCD, nếu có mượn khi tr thì cũng phải sa sai bng cách tr bt 0110 vào
ký s b sai.
V
í
d 31: phép tr s BCD biu din theo s nh phân: (61+38)
BCD
Dec
BCD
61
0110 0001
-
38
-
0011 1000
0010 1001
Kết qu sai (có n khi tr)
-
0000 0110
sa sai, bng cách tr s 0110 VÀO KÝ S N
23
0010 0011
Kết qu đúng
Tài liu ging dy hc phn Kiến Trúc Máy tính (110079) ......................................................... 63
3.5.Biu din ký t
Ngoà
i
v
i
c b
i
u d
i
n s, cng
t
a cũng cn đến b
i
u d
i
n ch và m
t
s ký
t
khác. Tu
t
heo
c h
t
hng khác nhau, có
t
h s dng các bng mã kc nhau
:
-
AS
C
II
(7 b
it
) (Amer
i
can S
t
andard Codes for Informa
ti
on
In
t
erchange) đ b
i
u d
i
n 128
t
g
i l
à mã ASCII-7
- ASCII m rng (8 bit) đ biu din 256 ký t (Hình 3.8)
001F
:
t
đ
i
u kh
i
n ; (s HEX, 1F 7F= 0001 1111 0111 1111=16 bit)
207F
:
t
i
n được, (vd a=(61)
16
= (0110 0001)
2
; A=(41)
16
= (0010 0001)
2
80FF
:
t
m rng (ký h
i
u
ti
n
t
,v khung,)
- Unicode: Ngày nay do vic s dng rng rãi mng toàn cu Internet vi rt nhiu ngôn ng khác
nhau, rt nhiu ký t kc nhau nên người ta đã chuyn sang dùng bUnicode (16 bit) (UTF-8)
th biu din được ti 65.536 t như vậy cho pp biu din hu hết c ngôn ng trên thế
gii. (vd: 16 bit, 0000-FFFF = 1111 1111 1111 1111), a, á, à, , ã, , â, , : mi ký t là 1 v t
Hình 3.8 Bng mã
ASCII
Tài liu ging dy hc phn Kiến Trúc Máy tính (110079) ......................................................... 64
Câu hi (bài tp) cng c:
1. Đổi các s nh phân sang thp phân
a. 10 1110
b. 111 0101
c. 1 1011 0100
d. 1111 0000 1111
e. 11010.111
f. 10011.0101
2. Đổi các s sau sang thp phân
a. (12121)
3
b. (4310)
5
c. (456)
7
d. (5671)
8
e. (100)
16
f. (189)
12
g. (1AB.C)
16
3. Đổi các s thp phân sang nh phân
a. (12345)
10
b. (2011)
10
c. (567)
10
d. (189)
10
e. (92.5625)
10
f. (19.3125)
10
4. Đổi các s thp phân sang h B
a. (1212)
10
sang thp nh phân
b. 1972 sang thp lc phân
c. 3535 sang tam phân
d. 8888 sang bát phân
e. 375.125 sang bát phân
f. 19.3125 sang thp lc phân
5. Ly bù các s sau
a. Bù 1: 11 0011;
b. Bù 1: 0101 1111
c. Bù 2: 1010 0011;
d. Bù 2: 1010
e. Bù 3: (012)
4
f. Bù 4: (321)
4
g. Bù 7: (765)
8
h. Bù 8: (1100)
8
i. Bù 9: (9999)
10
j. Bù 10: (1010)
10
k. Bù 15: (100)
16
l. Bù 16: (FA10)
16
6. Thc hin phép tr vi s thp phân không du bng cách ly bù 10 phép tr
a. 5250-1321
b. 20-100
c. 1972-7219
d. 1020-0123
e. 2018-ns
f. Ns-2018
7. Thc hin phép tr vi s nh phân không du bng cách ly bù 2 phép tr
a. 1100 1101- 0101 111
b. 0101 1111 -1111 0000
c. 1111- 0110
d. 1110 -0000 11
8. Thc hin phép tr vi s bát phân không du bng cách ly bù 8 phép tr
a. 76543 67541
b. 12456 7237
c. (12345 54321)
6
d. 76543 34567
9. Thc hin phép tr vi s thp lc phân không du bng cách ly bù 16 phép tr
a. 100-80
b. FF-100
c. 10A-A1
d. 1110 -0111
10. Thc hin tr s BCD và phép cng s BCD biu din theo s nh phân
a. 37+54
b. 91-36
c. 56+25
d. 85-42
Tài liu ging dy hc phn Kiến Trúc Máy tính (110079) ......................................................... 65
a. (4310)
5 =
(580)
10
=4*10
3+
3*10
2
+1*10
1
+0*0
=4*5
3+
3*5
2
+1*5
1
+0*0 =
=4*125
+
3*25 + 1*5
1
+0*0
=500 +
75 + 5 +0 =
7B4=???
(7B4)
16
=7*16
2
+ B*16
1
+ 4*16
0
= (1972)
10
4b. (1972)
10
=(7114; SAI)
16
; (1972)
10
=(7B4)
16
B=16
Đc, nguyên
Dư (B=10)
Qui đổi HEX
1972/B
123
4
4
123/B
7
11
B
7/16
0
7
7
56+25. (1 ĐIỂM)
TP
BCD
BCD
1231
0101
0110
0.125 đ
7989
0010
0101
0.125 đ
20
0111
1011
t bng BCD, SAI, CNG 0110 ĐỂ SA SAI,
+0110
KQ, Đ
1000
0001

Preview text:

BÀI 3
BIỂU DIỄN DỮ LIỆU TRONG MÁY TÍNH
Mục tiêu học tập: Sau khi học xong bài này, người học có thể:
- Trình bày các khái niệm về thông tin, lượng thông tin, mã hóa thông tin.
- Mô tả các hệ thống số cơ bản.
- Thực hiện chuyển đổi cơ số hệ B sang hệ thập phân và ngược lại.
- Thực hiện tính toán hệ thống số bằng phương pháp số bù.
- Mô tả số nguyên thành các dạng khác.
- Mô tả cách biểu diễn ký tự. 3.1.Hệ thống số:
3.1.1. Khái niệm thông tin:

Để mã hóa thông tin trong máy tính, người ta dùng các tín hiệu điện thế. Thường tín hiệu trong
khoảng 0→0.8V đại diện cho một giá trị 0 (nhị phân) và tín hiệu có mức điện thế bất kỳ trong khoảng
2→5V đại diện cho giá trị 1 (nhị phân). (Hình 3.1). 5v 2v 0.8v 0v t1 t2 thời gian
Hình 3 .1 Biểu diễn trị nhị phân qua điện thế
Trong Hình 3.1, quy ước có hai trạng thái có ý nghĩa: trạng thái thấp khi hiệu điện thế thấp hơn
0.8V và trạng thái cao khi hiệu điện thế lớn hơn 2V. Để có thông tin, ta phải xác định thời điểm ta quan
sát trạng thái của tín hiệu. Thí dụ, tại thời điểm t1 thì tín hiệu ở trạng thái thấp và tại thời điểm t2 thì tín hiệu ở trạng thái cao.
3.1.2. Lượng thông tin và sự mã hoá thông tin
Thông tin được đo lường bằng đơn vị thông tin mà ta gọi là bit. Lượng thông tin được định nghĩa bởi công thức: I = Log2(N) Trong đó:
I: là lượng thông tin tính bằng bit
N: là số trạng thái có thể có
Vậy một bit ứng với một trạng thái trong hai trạng thái có thể có. Hay nói cách khác, một bit có
thể biểu diễn hai trạng thái 0 hoặc 1. Ví dụ, để biểu diễn một trạng thái trong 8 trạng thái có thể có, ta
cần một số bit ứng với một lượng thông tin là: I = Log2(8) = 3 bit
Tám trạng thái được ghi nhận nhờ 3 số nhị phân (mỗi số nhịphân có thể có giá trị 0 hoặc 1).
Tài liệu giảng dạy học phần Kiến Trúc Máy tính (110079) ......................................................... 46
Như vậy lượng thông tin là số con số nhị phân cần thiết để biểu diễn số trạng thái có thể có. Do
vậy, một con số nhị phân được gọi là một bit. Một từ (word) n bit có thể tượng trưng một trạng thái
trong tổng số 2n trạng thái mà từ đó có thể tượng trưng.

Ví dụ: Nếu dùng 3 bit (A2, A1, A0) để biểu diễn thông tin, ta sẽ có được 8 trạng thái khác nhau (Hình 3,2) A2 A1 A0 Trạng thái 0 0 0 0 0 0 1 1 0 1 0 2 0 1 1 3 1 0 0 4 1 0 1 5 1 1 0 6 1 1 1 7
Hình 3.2 Biểu diễn 3 bit thông tin thành 8 trạng thái
Như vậy trong máy tính thì mọi thứ đềuđược biểu diễn dưới dạng hai con số là 0 và 1. Nhưng
ở thế giới thực của chúng ta thì thông tin lại là các khái niệm như con số, chữ cái, hình ảnh, âm
thanh,….Cho nên để đưa các thông tin vào máy tính thì ta cần chuyển đổi thông tin thực thành những
con số 0 và 1. Công việc này ta gọi là sự mã hóa thông tin.
Để biểu diễn dữ liệu trong máy tính chúng ta cần có các quy tắc “gắn kết” các khái niệm trong
thế giới thật với một dãy gồm các con số 0 và 1
3.1.3. Khái niệm hệ thống số:
Cơ sở của một hệ thống số định nghĩa phạm vi các giá trị có thể có của một chữ số. Ví dụ: trong
hệ thập phân, một chữ số có giá trị từ 0 đến 9, trong hệ nhị phân, một chữ số (một bit) chỉ có hai giá trị là 0 hoặc 1.
Dạng tổng quát để biểu diễn giá trị của một số: 𝑛−1
𝑉𝑘 = ∑ 𝑏𝑖. 𝑘𝑖 𝑖=−𝑚 Trongđó: Vk
Số cần biểu diễn giá trị. m
Số thứ tự của chữ số phần lẻ (phần lẻ của số có mchữ số được đánh số thứ tự từ -1 đến -m). n-1
Số thứ tự của chữ số phần nguyên (phần nguyên của số có n chữ số được đánh số
thứ tự từ 0 đến n-1). bi
Giá trị của chữ số thứ i ki
Hệ số đếm(k=10: hệ thập phân; k=2: hệ nhị phân;k=8: hệ bát phân; ..).
Tài liệu giảng dạy học phần Kiến Trúc Máy tính (110079) ......................................................... 47
Ví dụ: Biểu diễn số thập phân (541.25)10 (541.25)10
= 5 * 102 + 4 * 101 + 1 * 100 + 2 * 10-1 + 5 * 10-2
= (500)10+ (40)10+ (1)10+ (2/10)10 + (5/100)10
3.1.4. Các hệ thống đếm cơ bản:
3.1.4.1. Thập phân (Decimal, hệ B=10)

Dùng 10 chữ số 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 để biểu diễn số. Ví dụ số (541.2)10 trong hệ thập phân
biểu diễn một đại lượng: n=2 1 0 0 -1 Trọng số 5 4 1 . 2 =5*102+ 4*101+1*100+2*10-1 5*Bn 4*Bn-1 1*Bn-2 . 2*Bn
=(500)10+ (40)10+ (1)10+ (2/10)10 5*102 4*101 1*100 . 2*Bn
=(500)10+ (40)10+ (1)10+ (2/10)10
3.1.4.2. Nhị phân (Binary, hệ B=2))
Dùng hai chữ số 0 và 1 để biểu diễn số. Ví dụ: số m =1101.011 ở hệ nhị phân biểu diễn một đại lượng
(101)2= 1*22+0*21+1*20 =(5)10
(1101.011)2= 1*23+1*22+0*21+1*20+0*2-1+1*2-2+1*2-3 =(13.0375)10
3.1.4.3. Bát phân (Octal, hệ B=8))
Dùng tám chữ số 0, 1, 2, 3, 4 ,5 6, 7 để biểu diễn số. Ví dụ:
(27)8= 2*81+7*80= (23)10
(6327.405)8= 6*83+3*82+2*81+7*80+4*8-1+0*8-2+5*8-3
3.1.4.4. Thập lục phân (Hexadecimal, hệ B=16))
Dùng 16 chữ số 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F để biểu diễn số. Trong đó tương
đương với hệ 10 thì A=10, B=11, C=12, D=13, E=14, F=15.Ví dụ:
(6F)16= 6*161+F*160 = 6*161+15*160= 96+15= (111) 10
Chú ý: Mỗi con số ở hệ thập lục phân được biểu diễn bằng tập hợp 4 số ở hệ nhị phân (ví dụ: 516 = 01012)
3.1.5. Chuyển đổi cơ số hệ B sang hệ thập phân:
Việc chuyển đổi phần nguyên từ hệ cơ số B sang hệ 10, theo công thức tổng quát (*) 𝑛 𝐷 = ∑ Pi. Bi (*) 𝑖=0
Chuyển một số hệ cơ số B có cả phần nguyên và phần phân sang hệ thập phân theo công thức tổng quát (**) 𝑛 𝐷 = ∑ Pi. Bi (**) 𝑖=𝑚
Với P=PnPn-1 . . . P1P0P-1P-2 . . . .P-m
Tài liệu giảng dạy học phần Kiến Trúc Máy tính (110079) ......................................................... 48
Ví dụ 1: Chuyển hệ nhị phân (B=2) sang hệ thập phân:(1101.011)2= (xx.xx)10 n n=3 2 1 0 -1 -2 m=-3 (1101.011)B=2 1 1 0 1 . 0 1 1 D= P3B3 P2B2 P1B1 P0B0 P-1B-1 P-2B-2 P-3B-3 D= 1*23 1*22 0*21 1*20 0*2-1 1*2-2 1*2-3 D=
1*23+1*22+0*21+1*20+0*2-1+1*2-2+1*2-3 D=
1*8 +1*4 +0*2 +1*1 +0*2-1+ 1*2-2+1*2-3 D= (14.375)10
Ví dụ 2: Chuyển hệ bát phân (B=8) sang hệ thập phân:(6327.405)8= (xx.xx)10 i n=3 2 1 0 -1 -2 m=-3 (6327.405)B=8 6 3 2 7 . 4 0 5 D= P3B3 P2B2 P1B1 P0B0 P-1B-1 P-2B-2 P-3B-3 D=
6*8n=3 3*8n-1=2 2*8n-2=1 7*8n-3=0 4*8-1 0*8-2 5*8-3 D=
6*83+3*82+2*81+7*80+4*8-1+0*8-2+5*8-3 D= (3287.509766)10 (56.71)8
Ví dụ 3:Chuyển hệ thập lục phân (B=16) sang hệ thập phân:
(6E2B.10F)16= (xx.xx)10 i n=3 2 1 0 -1 -2 m=-3 (6E2B.10F)B=16 6 E 2 B . 1 0 F D= P3B3 P2B2 P1B1 P0B0 P-1B-1 P-2B-2 P-3B-3 D= 6*163 14*162 2*161 11*160 1*16-1 0*16-2 15*16-3 D=
6*163+14*162+2*161+11*160+1*16-1+0*16-2+15*16-3 D=??? (28203.0661621093)16
3.1.6. Chuyển đổi cơ số hệ thập phân sang hệ B:
Quy tắc: Người ta chuyển đổi từng phần nguyên và lẻ theo quy tắc sau:
Phần nguyên: Chia số cần đổi cho B, lấy kết quả chia tiếp cho B cho đến khi kết quả bằng 0.
Số ở cơ số B chính là các số dư (của phép chia) viết ngược.
Phần lẻ: Nhân liên tiếp phần lẻ choB, giữ lại các phần nguyên được tạo thành. Phần lẻ của số
hệ B sẽ là dãy liên tiếp phần nguyên sinh ra sau mỗi phép nhân tính từ lần nhân đầu đến lần nhân cuối.
Tài liệu giảng dạy học phần Kiến Trúc Máy tính (110079) ......................................................... 49
Ví dụ 4:Chuyển hệ thập phân sang hệ nhị phân (B=2): (20.125)10=(xx.xx)2
Tính phần nguyên, lặp đi lặp lại phép chia 2: (20)10 Số chia hệ B=2 Phần thương Phần dư 20/2 10 0 10/2 5 0 5/2 2 1 2/2 1 0 1/2 0 1
Phần nguyên (20)10=(1 0100)2
Tính phần lẻ, lặp đi lặp lại phép nhân 2: (.125)10 Số nhân hệ B=2 Phần tích Phần nguyên 0.125x2 0.25 0 0.25x2 0.5 0 0.5x2 1.0 1 0.0x2 0
Phần lẻ (.125)10=(.001)2
Vậy : (20.125)10=(1 0100.001)2
Ví dụ 5: Chuyển hệ thập phân sang hệ thập lục phân (B=16):(380.125)10=(xx.xx)16
Tính phần nguyên, lặp đi lặp lại phép chia 2: (375)10
Số chia hệ B=16 Phần thương Phần dư B=10 B=16 380/16 23 12 C 23/16 1 7 7 1/16 0 1 1 0/16 0 0
Phần nguyên (375)10=(177)16
Ví dụ 5’: Vậy : Phần nguyên (380)10=(17C)16 //(380)10=(1712)16
Tính phần lẻ, lặp đi lặp lại phép nhân 16: (.125)10 Số nhân hệ B=16 Phần tích Phần nguyên 0.125x16 2.0 2 0.0x16 0 Phần lẻ(.125)10=(.2)16
Vậy :(380.125)10=(17C.2)16 (375.125)10=(177.2)16
3.1.7. Chuyển đổi cơ số 2-8-16:
Quy tắc:Từ phải sang trái, gom 3 chữ số nhị phân thành một chữ số bát phân hoặc gom 4 chữ
số nhị phân thành một chữ số thập lục phân. 010051171011141131 hệ bát phân 001101111001100011 hệ nhị phân
D100E11260113411hệ thập lục phân
Tài liệu giảng dạy học phần Kiến Trúc Máy tính (110079) ......................................................... 50
ng 3.2 cho ta các chuyển đổi tương ứng từ các hệ số với nhau. Hệ thập phân Nhị phân Bát phân Thập lục phân Decimal Binary Octave Hexadecimal 0 00 0 0 1 01 1 1 2 (10)2 2 2 3 0011 3 3 4 0100 4 4 5 0101 5 5 6 0110 6 6 7 0111 7 7 8 1000 (10)8 8 9 1001 9 (10)10 1010 A 11 1011 B 12 1100 C 13 1101 D 14 1110 E 15 1111 F (10)16
Hình 3.3 Bảng mô tả tương quan giữa các hệ thống số
Ví dụ 6: Chuyển hệ cơ số: (11010.11)2 = (xx.xx)16 (11010.11)2 1 1010 . 11 Gom 4 chữ số 0001 1010 . 1100 1 A . C (1A.C)16
Ví dụ 7: Chuyển hệ cơ số : (11010.11)2 = (xx.xx)8 (11010.11)2 11 010 . 11 Gom 3 chữ số 011 010 . 110 3 2 . 6 (32.6)8
Tài liệu giảng dạy học phần Kiến Trúc Máy tính (110079) ......................................................... 51
3.1.8. Các phép toán cho hệ nhị phân
Các phép tính Cộng, Trừ, Nhân, Chia cũng được sử dụng trong số học Nhị phân, việc tính toán
cụ thể được thực hiện theo quy tắc sau:
3.1.8.1. Phép cộng hai số nhị phân không dấu:
Cộng nhị phân được thực hiện theo quy tắc ở (Hình 3.4). Chú ý:
- Khi cộng, thực hiện từ bit có trọng số thấp đến bit có trọng số cao.
- Nếu có số nhớ thì số nhớ sinh ra được cộng vào bit có trọng số cao hơn liền kề Số hạng 1 Số hạng 2 Tổng Số nhớ Kết quả 0 0 0 0 0 0 1 1 0 1 1 0 1 0 1 1 1 0 1 10
Hình 3.4Bảng qui tắc cộng nhị phân cho 2 số 1 bit
Ví dụ 8:
Cộng 2 số nhị phân không dấu (A+B)
A: (1011)2 +B: +(1100)2 Tổng: (10111)2
3.1.8.2. Phép trừ hai số nhị phân không dấu:
Phép trừ nhị phân được thực hiện theo quy tắc ở (Hình 3.5) Số hạng 1 Số hạng 2 Hiệu số Số vay 0 0 0 0 0 1 1 1 1 0 1 1; 0 1 1 0 0
Hình 3.5 Bảng qui tắc trừ nhị phân cho 2 số 1 bit Chú ý:
- Phép tính được thực hiện từ Bit có trọng số thấp đến Bit có trọng số cao.
- Số vay sẽ được trừ vào Bit có trọng số cao hơn ở bit liền kề.
Ví dụ 9: Trừ 2 số nhị phân không dấu (A-B) A: 1011 -B: -0110 Hiệu: 0101
Tuy nhiên trong thực tế, máy tính không tính toán kiểu đó mà chuyển đổi phép trừ thành phép
cộng với số bù 2 của nó. Phương pháp này trong máy tính được cho là hiệu quả hơn và dễ dàng thiết
kế phần cứng cho nó hơn. Số bù có hai loại thường dùng là số bù 1 và số bù 2.

Tài liệu giảng dạy học phần Kiến Trúc Máy tính (110079) ......................................................... 52 3.2.Số bù
Số bù được dùng trong máy tính giúp đơn giản phép toán trừ và các thao tác logic. Trong hệ cơ
số r có hai dạng số bù: số bù r và số bù (r-1).
Như vậy trong hệ 10 sẽ có bù 10 và bù 9, trong hệ 8 có bù 8 và bù 7, trong hệ 16 có bù 16 và
bù 15, trong hệ 2 có bù 2 và bù 1.
3.2.1. Số bù r-1 của một số:
Giả sử N A là một số có n ký số trong hệ cơ số r thì bù r-1 của N A= (rn - 1) – A N.
Đối với hệ thập phân (r=10), ta có bù r-1=bù 9 của số thập phân N là (10n-1)-N. Trong đó 10n
là một số gồm số 1 và theo saulà n chữ số 0
Ví dụ: 104=10000, vậy (10n-1) là 104-1=9999.
Ví dụ 10: Cho A=(43520)10 (r), Thực hiện việc lấy bù 9 của A
Vậy : A là hệ thập phân với r=10, có n=5 (ký số), “bù 9”tức là “bù r-1” của A=4352010 n= 5 4 3 2 1 A= 4 3 5 2 0
Bù 9 của A N = (rn -1) – A N = (105 - 1) 10 - (43520)10
= (10 0000 -1 )10 – (43520)10 (105: một trăm nghìn) = (99999) 10 – (43520)10 = (56479)10 Vậy bù 9 của (43520) 10 là (56479)10
Ví dụ 11: Thực hiện việc lấy bù 7 của (43520)8
Hệ bát phân với r=8, “bù 7”tức là “bù 8-1” của N=435208 n= 5 4 3 2 1 N= 4 3 5 2 0
Bù 7 của N (bù r-1) = (rn- 1) - N = (85 - 1) 8 - (43520)8
= (10 0000 -1)8 – (43520)8 (85: một và 5 con số 0) = (7 7777) 8 – (43520)8 = (34257)8
Vậy bù 7 của (43520)8 là (34257)8 ((34257)8: gọi là bù 7 của 435208 ) bù 8 của (43520)
8 = bù 7 + 1 = (34257)8 + 1 =
Tài liệu giảng dạy học phần Kiến Trúc Máy tính (110079) ......................................................... 53
3.2.2. Số bù r của một số:
Số bù r của một số được tính bằng bù r-1 cộng với 1, tức = (rn - 1) – N + 1
• Từ Ví dụ 10, bù 9 của (43520)10 là (56479)10
Vậy bù 10 của 43520 bằng bù 9 của (43520)10+ 1 = (56479)10+1=56480.
Kết quả bù 10 của 43520 là 56480
Từ đây ta có thể tính nhanh bù 10 theo qui tắc:
- Giữ nguyên các ký số 0 bên phải cho đến khi gặp ký số khác 0.
- Lấy 10 trừ đi ký số đầu tiên khác 0 đó.
- Lấy 9 trừ đi các số còn lại.
Ví dụ: Bù 10 của 347200 là 652800
• Từ Ví dụ 11, bù 7 của (43520)8 là (34257)8
Vậy bù 8 của (43520)8bằng bù 7 của (43520)8+ 1 = (34257)8+1=(34260)8
Kết quả bù 8 của(43520)8 là =(34260)8
Ví dụ 12: từ Ví dụ 9, thực hiện (A-B)=(1011-0110)2=(0101)2.
Thay vì thực hiện phép trừ, ta có thể thực hiện bằng cách:( A) + bù 2 của (B) như sau:
Hệ nhị phân với r=2, “bù 2” tức là “bù 1+1” củasố B=(0110)2 n= 4 3 2 1 B= 0 1 1 0 Bù 2 của B = (rn – 1) – B + 1 = (24 -1)2 – (0110)2+1 = (10000-1)2 – (0110)2+1 = (1111)2 – (0110)2+1 = (1001)2+1 = (1010) A (1011)2 +Bù 2 của B (1010)2 Tổng 1(0101)2
3.2.3. Phép trừ số không dấu:

Phép trừ hai số A và B không dấu (gồm n ký số và N≠ 0) trong cơ số r theo qui tắc: A-B (gồm n ký số) Số bị trừ: A
Cộng (Bù r của B): Br Tổng (A+Br): 
Nếu > n ký số (tràn)
Nếu = n ký số (không tràn) Bỏ tràn: -rn (Bù r của ): r Vậy:A-B : -rn Vậy:A-B : - r
Tài liệu giảng dạy học phần Kiến Trúc Máy tính (110079) ......................................................... 54
Ví dụ 13: Xét A-B: (72532 – 13250)
10 bằng cách lấy bù 10. (trừ bình thường = 59282)
A: 72532, B: 13250 có 5 ký số, do đó n=5, r=10. Thực hiện theo quy tắc (A-B) như sau: Bù 10=bù 9+1
Bù 10 của B=13250, tức là
A: (7 2532)10 B=13
250 có 5 kí số (n=5) Cộng (Bù 10 của B): +(8 6750) Bù 9=Bù 9 số 13250 10 =(rn-1)-13250 Tổng (): (15 9282) =(105-1)-13250 10
do có 6 ký số >n=5, nên Bù 9=(9 9999)-1 3250= 8 6749 Bỏ tràn(-105): (10 0000) Bù 10=86749+1=86750 10
Vậy bù 10 của (13250) là 86750 Vậy A-B: (5 9282)10
Ví dụ 14: Xét M-N: (13250 - 72532) ////chính VD13: B-A 10 =Bù 10 của số N=72532
=Bù 9 của số 72532 +1

M, N có 5 ký số, do đó n=5, r=10. Thực hiện theo quy tắc trên: =(rn-1)-N+1 M: (13250) =(105-1)- 72532+1 10 =(99999)- 72532+1 +Bù 10 của N: (27468)10
Vậy bù 10 của N=72532 27468 Tổng (M+N):
(40718)10 do có 5 ký số =n, nên tràn Bù 10 của tổng: (59282)
=Bù 10 của số T=40718 10 =Bù 9 --- +1 Vậy M-N: -(59282)10 =(rn-1)-T+1 =(105-1)- 40718+1 =(99999)- 40718+1
Ví dụ 15: Xét A-B: (101 0100-100 0011)
Vậy bù 10 của T=40718 2 (54HEX-43)HEX 59282
A, B là nhị phân, có 7 ký số, do đó n=7, r=2. Thực hiện theo quy tắc trên: A: (101 0100) Bù 2=bù 1+1 2
=Bù 2 số B=100 0011 +Bù 2 của B: (011 1101)2
=Bù 1 số 100 0011+1
=(27-1)- 100 0011+1 Tổng:
(1001 0001)2 do có 8 k =( ý 1000 s 00 ố 00- 1) > n=7, nên = (0111 1111) - Bỏ tràn (-27): (1000 0000) 2 B: 100 0011 011 1100 +1 Vậy A-B: (0001 0001)2 Bù 2 của B=011 1101
Ví dụ 16: Xét A-B: (100 0011 - 101 0100)2
A, B có 7 ký số, do đó n=7, r-2. Thực hiện theo quy tắc trên: 99+1=100, đc 0 nhớ 1 A: (100 0011)2 (7+1=10)8 +Bù 2 của B: (010 1100)2 F+1=10; (10)16 -1 =F = (9+1) Tổng: 10= 0 nhớ 1=(10)10
(110 1111)2 do có 7 ký số =n, nên
= (7+1)8= 0 nhớ 1=(10)8 Bù 2 của Tổng: (001 0001) 2 =Bù 8 của số N=72532 = (5+4)8= (5+2+1+1)8=
= (7+1+1)8 = (10)8+18 = (11)8
Vậy A-B: -(001 0001)
=Bù 7 của số 72532 +1 2 =(rn-1)-N+1 = (5+4)8 = 1 nhớ 1
=(85-1)8- 72532+1// (85)10 = 32768 =(10 0000-1)8- 72532+1
Ví dụ 16 (bổ sung): Xét M-N: (13250 - 72532) ////chính VD13: B-A 8 =(7 7777)8- (72532)8+1 =bù 7+1 = 05245+1
M, N có 5 ký số, do đó n=5, r=8. Thực hiện theo quy tắc trê V n: ậy
bù 8 của N=72532 là 05246 M: (13250)8
=Bù 8 của số T=20516 +Bù r=8 của N: (05246) =Bù 7 --- +1 8 =(rn-1)-T+1 Tổng (M+N)): (20516) =(85-1)- 20516+1 8
do có 5 ký số =n, nên tràn
=(7 7777)8- (2 0516)8+1 Bù r=8 của tổng: (57262) 8 =(5 7261)8+1 Vậy bù 8 của T=20516 Vậy M-N: -(57262)8 57262
Tài liệu giảng dạy học phần Kiến Trúc Máy tính (110079) ......................................................... 55
r= 16 , n=3 Bù 15 của số N=(101)16 =(r3-1)2 – N =(1000-1)16 - N =(FFF)16 - (101)16
Tài liệu giảng dạy học phần Kiến Trúc Máy tính (110079) ......................................................... 56
3.3.Số nguyên
Số nguyên n bit có dấu được biểu diễn trị tuyệt đối và dấu dưới dạng: dấu lượng, bù 1, bù 2.
3.3.1. Số nguyên có dấu được biểu diễn ở dạng dấu lượng:
Cách biểu diễn này là bit cao nhất luôn tượng trưng cho dấu
• Bit có giá trị 0: số đó là số dương.
• Bit có giá trị 1: số đó là số âm.
Ví dụ 17: Dùng 8 bit biểu diễn số +25 và -25 dưới dạng dấu lượng. Bit dấu 7 6 5 4 3 2 1 (bit thứ 8) (+25)10= 0 0 0 1 1 0 0 1 (-25)10= 1 0 0 1 1 0 0 1 VD: 0000 0011 : +3 VD: 1000 0011 : -3
Như vậy, theo biểu diễn dạng dấu lượng thì: • +2510=(0001 1001)2
• -2510= (1001 1001)2 • +010=000000002 • -010=100000002
3.3.2. Số nguyên có dấu được biểu diễn ở dạng bù 1:
- Đối với số dương thì biểu diễn giống dấu và trị tuyệt đối.
- Đối với số âm thì được biểu diễn dưới dạng bit dấu và giá trị của số đó ở dạng bù 1.
Ví dụ 18: Dùng 8 bit biểu diễn số +25 và -25 dưới dạng bù 1. Bit dấu 7 6 5 4 3 2 1 (+25)10= 0 0 0 1 1 0 0 1 (-25)10=bù 1của +25= 1 1 1 0 0 1 1 0
Dùng 8 bit để biểu diễn số. Như vậy 1 bit biểu diễn dấu, còn 7 bits biểu diễn giá trị của số
đó, nếu là số âm thì lấy bù 1các bit này.
Ta cũng có thể hiểu là số âm được biểu diễn bằng cách lấy bù 1của số dương kể cả bit dấu.
3.3.3. Số nguyên có dấu được biểu diễn ở dạng bù 2:
- Đối với số dương thì biểu diễn giống dấu và trị tuyệt đối.
- Đối với số âm thì được biểu diễn dưới dạng bit dấu và giá trị của số đó ở dạng bù 2.
Ví dụ 19: Dùng 8 bit biểu diễn số +25 và -25 dưới dạng bù 2. Bit dấu 7 6 5 4 3 2 1 Bit dấu 6 5 4 3 2 1 0 (+25)10= 0 0 0 0 1 1 0 0 (-25)10=bù 2 của 25 1 1 1 0 0 1 1 1
Dùng 8 bit để biểu diễn số, như vậy 1 bit biểu diễn dấu, còn 7 bits biểu diễn giá trị của số đó,
nếu là số âm thì lấy bù 2 các bit này.
Chú ý: Số dương biểu diễn ở cả 3 cách là như nhau, chỉ khác nhau khi số đó là số âm.
Tài liệu giảng dạy học phần Kiến Trúc Máy tính (110079) ......................................................... 57
3.3.4. Cộng trừ nhị phân dùng bù 1:
Số có dấu được biểu diễn bằng bù 1 theo qui tắc sau:
- Bit lớn nhất (MSB: Most Significant Bit) làbit dấu, trong đó 0 là số dương và 1 là số âm.
- Cácbitcòn lại biểu diễn trị thựccủa số dương hoặc trị bù1của số âm.
Vídụ 20: Dùng 6 bit gồm cả bit dấu để biểu diễn số : 17=(01 0001)2 và
-17 biểu diễn bù 1 của 17 = (10 1110)
Thực hiện phép cộng giống như cộng các số nhị phân không dấu, cộng cả bit dấu. Cần lưu ý
là cộng số nhớ của bit lớn nhất vào bit cuối cùng (LSB: Least Significant Bit).
Vídụ 21:Thực hiện phép tính: 13+11 và (-13)+(-11) 13 00 1101 -13 11 0010 + + + + 11 00 1011 -11 11 0100 24 01 1000 -24 10 0110 + 1 10 0111
Trong kết quả nếu bit dấu là 0, thì dãy bit sau bit dấu là giá trị kết quả. Còn nếu bit dấu là
âm thì dãy bit sau bit dấu mới là kết quả ở dạng bù một. Muốn biết giá trị thực của kết quả ta phải
lấy bù 1 của kết quả một lần nữa.
Như trong ví dụ 21, kết quả của phép cộng thứ nhất là 01 1000 có bit dấu là 0, vậy giá trị
thực của kết quả là +1 1000 = +24. Còn phép cộng thứ hai có kết quả là 10 0111 có bit dấu là 1, vậy
giá trị thực của kết quả là (bù 1 của 0 0111) = -1 1000 = -24
3.3.5. Cộng trừ nhị phân dùng bù 2
Số có dấu được biểu diễn bằng bù 2 theo qui tắc sau:
- Bit lớn nhất (MSB) là bit dấu, trong đó 0 là số dương và 1 là số âm.
- Các bit còn lại biểu diễn trị thực của số dương hoặc trị bù 2 của số âm.
Thực hiện phép cộng giống như cộng các số nhị phân khôngdấu, cộng cả bit dấu. Cần lưu ý
loại bỏ bit nhớ cuối cùng trong kếtquả.
Vídụ 22: Thực hiện phép tính: (-12)+(-9) -12 11 0100 + + -9 11 0111 -21 1101011
Kết quả có bit dấu bằng 1, vậy kết quả là số âm và dãy bit mới chỉlà bù 2 của kết quả. Muốn
có kết quả thật ta lấy bù 2 một lần nữa.
Trong ví dụ 22, kết quả không tính đến bit nhớ(bỏ bit nhớ) là101011 có bit dấu bằng 1 là một
số âm, tức là kết quảmới biểu diễn ở dạng bù 2. Muốn biết giá trị thật của kết quả ta phải lấy bù 2 một lần nữa.
Tài liệu giảng dạy học phần Kiến Trúc Máy tính (110079) ......................................................... 58
Tức là 101011 = - (bù 2 của 01011) = - (10101) = -21.
Đối với phép trừ ta thực hiện thông qua phép cộng. -B = bù 2 của B
A – B = A + (-B) = A + (bù 2 của B)
Vídụ 23
:Thực hiện phép tính: 13–6=13+(-6) 6 = 0000 0110 13 = 00001101 -6 = 1111 1010 Bù 2 của (-6) 13+(-6) = 1 0000 0111 Bỏ tràn = 1 0000 0000 Kết quả (7) = 0000 0111
Vídụ 24
: Thực hiện phép tính: 0111 - 0101 0111 chuyển 0111 Ta thực hiện -0101 thành +1011 Bù 2 của 0101 10010 Vậy kết quả là 0010
Vídụ 25: Thực hiện phép tính: 0111 - 0101 0101 chuyển 0101 Ta thựchiện -0111 thành +1001 Bù 2 của 0111 Vậy kết quả là 1110
3.3.6. Số quá n
Số quá n hay còn gọi là số thừa n của một số N có được bằng cách “cộng thêm” số N với số
quá n, số n được chọn sao cho tổng của n và một số âm bất kỳ luôn luôn dương. Quy tắc chung:
Biểu diễn quá n của N = biểu diễn nguyên dương của (N + n) 0 1 2 3 4 5 6 7 Nguyên dương
000 001 010 011 100 101 110 111 -3 -2 -1 0 1 2 3 4 Quá 3
000 001 010 011 100 101 110 111
Vídụ 26: Biểu diễn (quá 127) của 7 là: 127+7= (134)10=(1000 0110)2
Tài liệu giảng dạy học phần Kiến Trúc Máy tính (110079) ......................................................... 59
Cách biểu diễn số nguyên có dấu, bằng số bù 2 được dùng rộng rãi cho các phép tính số
nguyên. Nó có lợi là không cần thuật toán đặc biệt nào cho các phép tính cộng và tính trừ, giúp phát
hiện dễ dàng các trường hợp bị tràn.
Các cách biểu diễn bằng “dấu lượng” hoặc bằng “số bù 1” dẫn đến việc dùng các thuật toán
phức tạp và bất lợi vì luôn có hai cách biểu diễn của số không.
Cách biểu diễn bằng “dấu lượng”được dùng cho phép nhân của số có dấu chấm động.
Cách biểu diễn bằng số quá nđược dùng cho số mũ của cácsố có dấu chấm động. Cách này
làm cho việc so sánh các số mũ có dấu khác nhau trở thành việc so sánh các số nguyên dương.
3.3.7. Cách biểu diễn số với dấu chấm động (Floating point number)
Để biểu diễn các con số rất lớn hoặc rất bé, thì dùng một cách biểu diễn số gọi là số chấm
động. Trước khi đi vào cách biểu diễn số với dấu chấm động, chúng ta xét đến cách biểu diễn một
số dưới dạng dấu chấm xác định. Ví dụ 27:
- Trong hệ thập phân, số (254)10 có thể biểu diễn dưới các dạng sau:
254*100; 25.4*101; 2.54*102 ; 0.254*103 ; 0.0254*104 ; …
- Trong hệ nhị phân, số (0.00011)2 (tương đương với số 0.0937510) có thể biểu diễn dưới các dạng :
0.00011*20; 0.0011*2-1; 0.011*2-2; 0.11*2-3; 1.1*2-4; …
Các cách biểu diễn này gây khó khăn trong một số phép so sánh các số. Để dễ dàng trong
các phép tính, các số được chuẩn hoá về một dạng biểu diễn:  E 1. fff...f x 2
đối với hệ nhị phân, trong đó: f là phần lẻ; E là phần mũ.
Đối với các hệ khác thì biểu diễn chấm động được gọi là chuẩn hóa khi phần định trị chỉ có

duy nhất một chữ số bên trái dấu chấm thập phân và chữ số đó khác không → một số chỉ có duy
nhất một biểu diễn chấm động được chuẩn hóa
Ví dụ 28: 2.006 × 103 (chuẩn) 20.06 × 102 (không) 0.2006 × 104 (không)
Các thành phần của số chấm động bao gồm: phần dấu, phần mũ và phần định trị. Như vậy,
cách này cho phép biểu diễn gần đúng các số thực, tất cả các số đều có cùng cách biểu diễn.
Có nhiều cách biểu diễn dấu chấm động, trong đó cách biểu diễn theo chuẩn IEEE 754 được
dùng rộng rãi trong khoa học máy tính hiện nay. Trong cách này một số được biểu diễn dưới dạng: F=(-1)S*M*RE 31 30 23 22 0 S E M
Hình 3.6 Biểu diễn số có dấu chấm động chính xác đơn với 32 bit
Trong đó: S: dấu (Sign bit), M: định trị, R: cơ số, E: mũ (Exponent)
- Dấu: 1 bit (0 – dương, 1 – âm)
- Mũ: 8 bit (từ bit 23 đến bit 30) là một số quá 127 (sẽ có trị từ -127 đến 128, tức là từ 0000 0000 đến 1111 1111)
Tài liệu giảng dạy học phần Kiến Trúc Máy tính (110079) ......................................................... 60
- Không biểu diễn cơ số (R) vì luôn bằng 2
- Phần định trị M 23 bit (từ bit 0 đến bit 22) chỉ biểu diễn phần lẻ (bên phải dấu chấm
số nhị phân) vì chữ số bên trái dấu chấm luôn là 1. Ví dụ 29: a) 200610 =(-1)0*2.006*103 b) 209.812510 =11010001.11012 =1.101000111012*27
Biểu diễn (quá127) của 7 là: 127+7 = 134 = (10000110)2 Kết quả: 31 30 23 22 0 S E M 0 1000 0110 10 1000 1110 1000 0000 0000
Các phép tính với số chấm động phức tạp hơn nhiều là với số chấm tĩnh, thực hiện lâu hơn và
phần cứng cho nó cũng phức tạp hơn. Máy tính không có phần cứng tính toán số chấm động, nhưng
có các tập trình con giúp giải các bài toán với số chấm động.
3.4.Biểu diễn số BCD (Binary Coded Decimal)
Con người thường quen với hệ thập phân, trong khi máy tính lại chỉ thích hợp với hệ nhị phân.
Do đó khi nhập xuất dữ liệu thường là nhập xuất theo dạng thập phân. Nếu việc nhập xuất số thập
phân không nhiều thì có thể chuyển số hệ 10 khi nhập sang hệ 2. Tính toán xong theo hệ 2 rồi lại
chuyển ngược lại sang hệ 10 trước khi xuất ra ngoài. Nếu nhập xuất nhiều thì việc chuyển đổi sẽ làm
mất nhiều thời gian xử lý. Mặt khác một vài ứng dụng, đặc biệt ứng dụng quản lý, bắt buộc các phép
tính thập phân phải chính xác, không làm tròn số. Với một số bit cố định, ta không thể đổi một cách
chính xác số nhị phân thành số thập phân và ngược lại. Hệ thập phân BCD Decimal (Binary Coded Decimal) 0 0000 1 0001 2 0010 3 0011 4 0100 5 0101 6 0110 7 0111 8 1000 9 1001
Hình 3.7 Bảng mô tả số thập phân mã bằng nhị phân
Vì vậy, khi cần phải dùng số thập phân, ta có thể dùng một cách khác, đó là cách biểu diễn số
thập phân mã bằng nhị phân (BCD: Binary Coded Decimal). Theo đó mỗi số thập phân nhập vào
máy sẽ được mã hóa theo dạng BCD bằng cách chuyển mỗi ký số hệ 10 thành 4 bit số nhị phân như
trong Hình 3.7. Sau đó việc tính toán sẽ thực hiện trực tiếp trên mã BCD. Tính toán xong thì lại
Tài liệu giảng dạy học phần Kiến Trúc Máy tính (110079) ......................................................... 61
chuyển ra ngoài theo dạng thập phân. Khi đó, nếu việc tính toán là không nhiều, hoặc việc tính toán
là đơn giản thì số BCD sẽ giúp cải thiện đáng kể tốc độ xử lý.
Biểu diễn số dạng BCD sẽ tốn kém hơn nhiều biểu diễn dạng nhị phân vì mỗi số BCD cần tới
4 bit. Ví dụ 3257 có dạng BCD là 0011 0010 0101 0111, tức là phải dùng 16 bit, trong khi ở hệ nhị
phân chỉ cần 12 bit (110010111001). Con số càng lớn thì sự chênh lệnh của nó càng nhiều, trong khi
bộ nhớ thì có hạn, cho nên đây là một nhược điểm rất lớn của dạng số BCD.
Để thiết kế mạch tính toán thập phân cũng đòi hỏi độ phức tạp nhiều hơn, tuy nhiên nó có thuận
lợi là việc tính toán đều bằng thập phân và cho kết quả chính xác hơn.
Một số ứng dụng như xử lý dữliệu thương mại - kinh tế thường tính toán ít hơn so với khối dữ
liệu nhập xuất. Vì vậy mà một số máy và các máy tính tay đều tính toán trực tiếp trên số thập phân.
Một số máy khác lại có khả năng tính toán trên cả thập phân và nhị phân.
Điểm khác biệt rõ nhất với các hệ khác khi tính toán là khi kết quảcộng nếu các ký sốvượt quá
kết quả cho phép trong khoảng từ 0000 đến 1001 hoặc có nhớ khi cộng thì phải sửa sai bằng cách cộng
thêm 0110 vào ký số bị sai.
Ví dụ 30: phép cộng số BCD biểu diễn theo số nhị phân: (27+36)BCD Dec BCD 27 0010 0111 + 36 + 0011 0110
0101 1101 ĐượcK. quả sai (do 1101 vượt bảng BCD) +
0000 0110 sửa sai, bằng cách cộng HẰNG SỐ: 0110 với ký số SAI 63
0110 0011 Kết quả (đúng)-> hiển thị
Tương tự khi trừ số BCD, nếu có mượn khi trừ thì cũng phải sửa sai bằng cách trừ bớt 0110 vào ký số bị sai.
Ví dụ 31: phép trừ số BCD biểu diễn theo số nhị phân: (61+38)BCD Dec BCD 61 0110 0001 - 38 - 0011 1000
0010 1001 Kết quả sai (có mượn khi trừ) -
0000 0110 sửa sai, bằng cách trừ số 0110 VÀO KÝ SỐ MƯỢN 23 0010 0011 Kết quả đúng
Tài liệu giảng dạy học phần Kiến Trúc Máy tính (110079) ......................................................... 62
3.5.Biểu diễn ký tự
Ngoài việc biểu diễn số, chúng ta cũng cần đến biểu diễn chữ và một số ký tự khác. Tuỳ theo
các hệ thống khác nhau, có thể sử dụng các bảng mã khác nhau:
- ASCII (7 bit) (American Standard Codes for Information Interchange) để biểu diễn 128
ký tự gọi là mã ASCII-7
- ASCII mở rộng (8 bit) để biểu diễn 256 ký tự (Hình 3.8)
00–1F: ký tự điều khiển ; (số HEX, 1F 7F= 0001 1111 0111 1111=16 bit)
20–7F: ký tự in được, (vd a=(61)16= (0110 0001)2 ; A=(41)16= (0010 0001)2
80–FF:ký tự mở rộng (ký hiệu tiền tệ,vẽ khung,…)
- Unicode: Ngày nay do việc sử dụng rộng rãi mạng toàn cầu Internet với rất nhiều ngôn ngữ khác
nhau, rất nhiều ký tự khác nhau nên người ta đã chuyển sang dùng bộ mã Unicode (16 bit) (UTF-8)
có thể biểu diễn được tới 65.536 ký tự và như vậy cho phép biểu diễn hầu hết các ngôn ngữ trên thế
giới. (vd: 16 bit, 0000-FFFF = 1111 1111 1111 1111), a, á, à, ả, ã, ạ, â, ấ, ầ : mỗi ký tự là 1 vị trí
Hình 3.8 Bảng mã ASCII
Tài liệu giảng dạy học phần Kiến Trúc Máy tính (110079) ......................................................... 63
Câu hỏi (bài tập) củng cố:
1. Đổi các số nhị phân sang thập phân a. 10 1110 d. 1111 0000 1111 b. 111 0101 e. 11010.111 c. 1 1011 0100 f. 10011.0101
2. Đổi các số sau sang thập phân a. (12121)3 d. (5671)8 b. (4310)5 e. (100)16 c. (456)7 f. (189)12 g. (1AB.C)16
3. Đổi các số thập phân sang nhị phân a. (12345) 10 d. (189) 10 b. (2011) 10 e. (92.5625)10 c. (567) 10 f. (19.3125)10
4. Đổi các số thập phân sang hệ B
a. (1212) 10 sang thập nhị phân d. 8888 sang bát phân
b. 1972 sang thập lục phân e. 375.125 sang bát phân c. 3535 sang tam phân
f. 19.3125 sang thập lục phân 5. Lấy bù các số sau a. Bù 1: 11 0011; h. Bù 8: (1100)8 b. Bù 1: 0101 1111 i. Bù 9: (9999)10 c. Bù 2: 1010 0011; j. Bù 10: (1010)10 d. Bù 2: 1010 k. Bù 15: (100)16 e. Bù 3: (012)4 l. Bù 16: (FA10)16 f. Bù 4: (321)4 g. Bù 7: (765)8
6. Thực hiện phép trừ với số thập phân không dấu bằng cách lấy bù 10 phép trừ a. 5250-1321 c. 1972-7219 b. 20-100 d. 1020-0123 e. 2018-ns f. Ns-2018
7. Thực hiện phép trừ với số nhị phân không dấu bằng cách lấy bù 2 phép trừ a. 1100 1101- 0101 111 c. 1111- 0110 b. 0101 1111 -1111 0000 d. 1110 -0000 11
8. Thực hiện phép trừ với số bát phân không dấu bằng cách lấy bù 8 phép trừ a. 76543 – 67541 c. (12345 – 54321)6 b. 12456 – 7237 d. 76543 – 34567
9. Thực hiện phép trừ với số thập lục phân không dấu bằng cách lấy bù 16 phép trừ a. 100-80 c. 10A-A1 b. FF-100 d. 1110 -0111
10. Thực hiện trừ số BCD và phép cộng số BCD biểu diễn theo số nhị phân a. 37+54 c. 56+25 b. 91-36 d. 85-42
Tài liệu giảng dạy học phần Kiến Trúc Máy tính (110079) ......................................................... 64 a. (4310)5 = (580)10 =4*103+3*102+1*101+0*0 =4*53+ 3*52 +1*51+0*0 = =4*125+ 3*25 + 1*51+0*0 =500 + 75 + 5 +0 = 7B4=???
(7B4)16=7*162 + B*161 + 4*160 = (1972)10
4b. (1972)10 =(7114; SAI)16 ; (1972)10 =(7B4)16 B=16 Đc, nguyên Dư (B=10) Qui đổi HEX 1972/B 123 4 4 123/B 7 11 B 7/16 0 7 7 56+25. (1 ĐIỂM) TP BCD BCD 1231 0101 0110 0.125 đ 7989 0010 0101 0.125 đ 20 0111
1011 Vượt bảng BCD, SAI, CỘNG 0110 ĐỂ SỬA SAI, +0110 KQ, Đ 1000 0001
Tài liệu giảng dạy học phần Kiến Trúc Máy tính (110079) ......................................................... 65