ạ ươ
ọ
IT1110 Tin h c đ i c
ng
ọ
ầ ươ
ễ
Ph n I: Tin h c căn b n ể Ch
ả ữ ệ ng 2: Bi u di n d li u trong máy tính
ễ
ọ Nguy n Bá Ng c
1
ộ
ươ
N i dung ch
ng này
ị
ơ
ớ ố
ớ ố
ị
ự ố ự
ễ ễ
2.1. Các h đ mệ ế ữ ệ ễ ể 2.2. Bi u di n d li u và đ n v đo ố ễ ể 2.3. Bi u di n s nguyên ố ọ 2.4. Phép toán s h c v i s nguyên 2.5. Tính toán logic v i s nh phân ể 2.6. Bi u di n ký t ể 2.7. Bi u di n s th c
2
ể
ữ ệ
ễ
ị
2.2. Bi u di n d li u trong máy ơ tính và đ n v đo
Nguyên t c chung
ọ ữ ệ
ề
ượ
ể
ằ
Trong máy tính m i d li u đ u đ
ễ c bi u di n b ng
ể
ị ố s nh phân. ả ằ
ố
ả ượ ể ư
Văn b n, âm thanh, hình nh ph i đ ị
ố ữ
ử
ễ ằ
ả c s hóa (bi u ể di n b ng s nh phân) đ có th l u tr và x lý b ng máy vi tính. ề
ể ả ử
ộ
ệ ố ậ
ể
ễ
ả
ể ầ Ph n m m đóng vai trò trung gian đ chúng ta có th ữ ệ ở ử ụ s d ng máy tính m t cách hi u qu , x lý d li u ữ ế ộ ữ nh ng bi u di n quen thu c (s th p phân, ch vi t, hình nh, âm thanh, v.v.).
3
ắ
photo.jpg
ệ
ậ
ố
Quá trình s hóa tín hi u v t lý
ộ ả
ộ ươ t
ế B c m bi n tín hi uệ (Sensor)
ổ ể B chuy n đ i ự ố s ng t (AD Converter)
ệ
ố
Tín hi uệ
Tín hi u sệ
ệ Tín hi u đi n liên t cụ
v t lýậ
Máy tính
ị ữ ệ
ơ
Đ n v d li u
Đ n v d li u nh nh t là
ỏ ấ ươ ứ ng ng
ạ
ị ữ ệ ộ ự ệ ạ ộ ạ
ắ ắ
ạ ạ
6
ụ ắ ở ộ ơ bit. M t bit t ớ v i m t s ki n có 1 trong 2 tr ng thái. Ví d : M t m ch đèn có 2 tr ng thái là: ở ệ T t (Off) khi m ch đi n qua công t c là h ệ M (On) khi m ch đi n qua công t c là đóng
ế
ơ
ị ữ ệ Đ n v d li u (ti p)
Ký hi uệ
Giá trị
Tên g iọ
Byte
B
8 bit
Kilobyte
KB
210B
Megabyte
MB
210KB = 220B
Gigabyte
GB
210MB = 230B
Terabyte
TB
210GB = 240B
Petabyte
PB
210TB = 250B
Exabyte
EB
210PB = 260B
Zettabyte
ZB
210EB = 270B
Yottabyte
YB
210ZB = 280B
7
ể
ố
ễ 2.3. Bi u di n s nguyên
ủ
ễ
ể
ị
ố Có hai bi u di n nh phân c a s
ỉ ể ượ ễ c
ấ s nguyên không âm)
nguyên ố S nguyên không d u (ch bi u di n đ ố ố ể
ử ụ ấ ể S nguyên có d u, s d ng mã bù 2 đ
8
ố ễ bi u di n s âm
ố
ễ ể 2.3.1. Bi u di n s nguyên không d uấ
ạ ả ử ể ể ễ s dùng n bit đ bi u di n
ổ D ng t ng quát: gi ộ ố ấ cho m t s nguyên không d u A:
Giá tr c a A đ
ị ủ an1an2...a3a2a1a0 ượ ư c tính nh sau:
D i bi u di n c a A: t
n 1
9
ủ ể ễ ả ừ ế 0 đ n 2
Ví d :ụ
Bi u di n các s nguyên không d u sau đây
ễ ấ ố
ể ằ b ng 8 bit:
A = 45 B = 156
i:ả
Gi A = 45 = 32 + 8 + 4 + 1 = 25 + 23 + 22 + 20
(cid:0) A = 0010 1101
B = 156 = 128 + 16 + 8 + 4 = 27 + 24 + 23 + 22
10
(cid:0) B = 1001 1100
ụ ế Ví d (ti p)
Cho các s nguyên không d u X, Y đ
ố ượ c
ư ễ ể ằ ấ bi u di n b ng 8 bit nh sau:
ị ủ Xác đ nh giá tr c a X,Y
X = 0010 1011 Y = 1001 0110 ị i:ả
11
Gi X = 0010 1011 = 25 + 23 + 21 + 20 = 32 + 8 + 2 + 1 = 43 Y = 1001 0110 = 27 + 24 + 22 + 21
= 128 + 16 + 4 + 2 = 150
ớ
V i n = 8 bit
ố ọ
ụ
Tr c s h c máy tính
ể ả ễ D i bi u di n là [0, 255]
0000 0000 = 0
0000 0001 = 1 0000 0010 = 2 0000 0011 = 3
.....
12
1111 1111 = 255
ễ
ể
ấ
ố
Bi u di n s nguyên không d u
V i n = 16 bit:
V i n = 32 bit:
ả ể
ớ ễ d i bi u di n: [0, 65 535] ớ d i bi u di n: [0, 4 294 967 295]
13
ễ ể ả
ố
ố
S bù 1 và s bù 2
ị
ượ
ể
ễ
V i 1 s nh phân A đ
c bi u di n
ớ ố ằ b ng n bit: ị L y ngh ch đ o các bit c a A: thu đ
ủ ấ ượ ố c s
n 1) – A ượ
ủ bù 1 c a A b ng (2
C ng 1 vào s bù 1: thu đ
ộ ủ ố ả ằ ố c s bù 2 c a
14
A: 2n – A
ế
ố
S bù 1 và bù 2 (ti p)
ụ
Ví d : n = 4 bit, A = 0110
ố
= s bù 1 +1
1111 10000
A 0110 0110
ố
S bù 1:
1001
ố
S bù 2:
1010
ố ậ
ỏ ậ Nh n xét: s bù 1 là đ o các bit
15
ằ ả 0 (cid:0) 1 ố ổ Nh n xét: T ng A + s ủ bù 2 c a nó, b bit ngoài cùng, b ng 0
ễ
ể
ấ
ố
Bi u di n s nguyên có d u
ể
ễ
ạ ố
ạ ổ
2
ố Bi u di n s không âm: ể ễ an1 = 0, các bit còn l i bi u di n s đó ủ ố D ng t ng quát c a s không âm: N(2) = 0an2...a2a1a0 n ố (2):
i
n
1
20
(cid:0) ị ủ Giá tr c a s N (cid:0) (cid:0) (cid:0) (cid:0) (cid:0)
2
ia
0
Mi n giá tr : [0, 2
n11]
16
ề ị
ể
ễ
ấ
ố
Bi u di n s nguyên có d u (1)
ễ
ể
ệ ố ủ ủ
ế
ả
ả
ị
ể
ị Bi u di n giá tr tuy t đ i c a nó Ngh ch đ o các bít c a k t qu (mã bù 1) C ng 1 vào mã bù 1 (mã bù 2) – đây cũng là bi u
ộ ễ
ố
ể ố ễ Bi u di n s âm:
D ng t ng quát c a s âm:
ủ di n c a s âm ổ ạ an1 = 1
ủ ố
n
2
i
n
1
ị ủ Giá tr c a s âm:
A
2
2
a i
0
17
ễ
ả
ể D i bi u di n: [2
n1, 1]
(cid:0) (cid:0) A(2) = 1an2...a2a1a0 ố (cid:0) (cid:0) (cid:0) (cid:0) (cid:0)
ễ
ể
ấ
ố
Bi u di n s nguyên có d u (2)
ử ụ
ế ố
ế ợ ạ ể
ấ
ể i, n u s d ng n bit ta có th trong
K t h p l ễ bi u di n s nguyên có d u ả kho ng: [2n1, 2n1 1] ổ
T ng quát:
A(2) = an1an2...a1a0
n
2
(cid:0)
i
n
1
(cid:0)
A
a
2
n
)2(
1
(cid:0) (cid:0) (cid:0) (cid:0) (cid:0) (cid:0) (cid:0)
2
a i
18
0
ụ ể
ễ
ố
Ví d bi u di n s nguyên có d uấ
Xác đ nh giá tr c a các s nguyên có d u 8 bit
ị ủ ấ ố ị
sau đây:
A = 0101 0110 B = 1101 0010
i:ả
19
Gi A = 26 + 24 + 22 + 21 = 64 + 16 + 4 + 2 = +86 B = 27 + 26 + 24 + 21 = 128 + 64 + 16 + 2 = 46
Bài t pậ
ễ
ớ
ố
Bi u di n các s nguyên sau v i n = 8
ể bit: X=+58 Y=80
ấ
ố
ị
Xác đ nh giá tr c a s nguyên có d u 8
ị ủ bit: Z = 1100 1001
20
ườ
ụ ể
ợ
Tr
ng h p c th
ể ể
ễ
N u s d ng 8 bit có th bi u di n các
ử ụ ị ừ
ế giá tr t
ế 128 đ n +127
1000 0000 = 128
1000 0001 = 127
...............................
0000 0000 = 0
0000 0001 = 1
..........................
0111 1111 = 127
21
ở ộ
ễ
ể
ả M r ng d i bi u di n
ớ ố
ổ ừ ạ d ng 8 bit (byte) thành 16 bit
22
ể Chuy n đ i t (word): ớ ố V i s không âm thêm 8 bit 0 vào bên trái +19 = 0001 0011 (8 bit) +19 = 0000 0000 0001 0011 (16 bit) V i s âm thêm 8 bit 1 vào bên trái 19 = 1110 1101 (8 bit) 19 = 1111 1111 1110 1101 (16 bit)
Binary Code Decimal Code
ữ ố ậ
ừ
Dùng 4 bit đ mã hóa t ng ch s th p
ừ
ể ế 0 đ n 9
phân t
0(cid:0) 0000 .......... 1(cid:0) 0001 8(cid:0) 1000 ............ 9(cid:0) 1001
ổ ợ
Có 6 t
h p không dùng: 1010, 1011,
1100, 1101, 1110, 1111
23
Binary Code Decimal Code
ữ ố ậ
ứ
ơ ẻ ượ
35(cid:0) 0011 0101BCD 61(cid:0) 0110 0001BCD 1087(cid:0) 0001 0000 1000 0111BCD đ C 1 ch s th p phân đ n l
c mã
ằ hóa b ng 4 bit
24
Binary Code Decimal Code
ế
ố
Phép c ng s BCD:
ộ 35 (cid:0)
ả K t qu đúng, không ệ ả ph i hi u ch nhỉ
0011 0101BCD
+ 61 (cid:0) +0110 0001BCD
87 (cid:0)
96 (cid:0) 1001 0110BCD
1000 0111BCD
ả ế K t qu sai, ệ ả ph i hi u ch nhỉ
25
+ 96 (cid:0) +1001 0110BCD
183 1 0001 1101BCD
Binary Code Decimal Code
ỉ
ệ
Nh n xét: 7 + 6 hay 8 + 9 đ u v
ề ượ t 9 nên có
Hi u ch nh: ậ nh .ớ ệ
Hi u ch nh b ng cách c ng thêm 6
ộ ở ằ ữ nh ng
ớ ị ỉ v trí có nh (>9)
ệ
ỉ
hi u ch nh
ế
ả k t qu đúng
1 0001 1101 + 0110 0110 (cid:0) 0001 1000 0011BCD (cid:0)
26
ể ư
ữ ố
Các ki u l u tr s BCD
ữ
ấ
ỗ ố BCD không gói (Unpacked BCD): m i s ủ ượ ư c l u tr trong 4 bit th p c a ụ ố
ượ ư
ỗ
BCD 4 bit đ m i byte. Ví d : S 35 đ
ữ c l u tr :
0011
0101
ố
ụ
ố
ộ
ượ ượ
c c
BCD gói (packed BCD): hai s BCD đ ữ ư l u tr trong m t byte. Ví d : S 35 đ ữ ư l u tr :
0011
0101
27
ộ
ươ
N i dung ch
ng này
ị
ơ
ớ ố
ớ ố
ị
ự ố ự
ễ ễ
2.1. Các h đ mệ ế ữ ệ ễ ể 2.2. Bi u di n d li u và đ n v đo ố ễ ể 2.3. Bi u di n s nguyên ố ọ 2.4. Phép toán s h c v i s nguyên 2.5. Tính toán logic v i s nh phân ể 2.6. Bi u di n ký t ể 2.7. Bi u di n s th c
28
ố ọ
ớ ố 2.4. Các phép toán s h c v i s nguyên
ộ
ấ Phép c ng s nguyên không d u ả ừ t t ng bít t ệ ơ ố ư
ố ộ ệ ươ
ph i qua trái.
ầ ượ ừ ự ế ự nh trong h c s 10 ng t
Tr
ơ ng h p t ng c a hai s l n h n 2
29
Ti n hành c ng l n l Th c hi n t 0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 ớ 1 + 1 = 10 (nh 1 sang bên trái) ợ ổ ườ ố ra tràn s (ngoài d i bi u di n, C ẽ s là sai.
ố ớ ễ ủ ả ể ẽ n1 s gây ả ế out = 1), k t qu
ố
ộ ụ Ví d phép c ng s nguyên không d uấ
ế ổ ỏ ơ ng h p 8 bit, n u t ng nh h n 255 thì
57 0011 1001 + 34 0010 0010 91 0101 1011
209 1101 0001 + 73 0100 1001 282 1 0001 1010
ợ ớ ườ V i tr ả ế k t qu đúng
Bit tràn ra ngoài (Cout)
30
ế ả K t qu sai
ấ
ả Phép đ o d u
ả
ấ
ấ
ấ
ự Phép đ o d u th c ch t là l y bù 2
+37 = 0010 0101
37 = 1101 1011
bù 1: 1101 1010
bù 1: 0010 0100
+1
+1
bù 2: 1101 1011 = 37
bù 2: 0010 0101 = +37
31
ấ
ố
ộ
C ng hai s nguyên có d u
ộ ố ỏ Khi c ng 2 s nguyên có d u n bit, b qua bit
ế
ượ ế ả ậ
ố khác d uấ k t qu ố cùng d uấ : ấ
ố ạ
ế
ả
ấ
ớ
ế
ả
ộ ộ n u d u k t qu cùng d u v i các s h ng thì
k t qu là
ấ c k t qu n bit: ả luôn đúng
ả ị
ế
ế
ấ
k t qu b sai ẽ ẫ
do đã tràn số ế
i thì ể
Cout, chúng ta nh n đ C ng 2 s C ng 2 s ế đúng. ế
ượ ạ c l ả Khi t ng n m ngoài d i bi u di n s d n đ n
ả n u k t qu có d u ng ổ tràn số
ễ ằ
32
[2n1, 2n1 1]
ấ
ộ
ố
ụ C ng hai s nguyên có d u ví d :
(+70) = 0100 0110
+(+42)= 0010 1010
+112 = 0111 0000 = +112
(+97) = 0110 0001
+(52) = 1100 1100 (vì +52 = 0011 0100)
+45 = 1 0010 1101 = +45
33
ấ
ộ
ố
ụ C ng hai s nguyên có d u ví d :
(+75) = 0100 1011
+(+82)= 0101 0010
+157 = 1001 1101 = 99
(cid:0)
ổ
ượ
t ng v
t +127
tràn số
(104) = 1001 1000 (vì +104 = 0110 1000)
+ (43) = 1101 0101 (vì +43 = 0010 1011) 147 = 1 0110 1101 = +109 (cid:0)
sai
âm + âm (cid:0)
d
ngươ
không quan tâm
34
ệ
ắ
ừ
ự Nguyên t c th c hi n phép tr
ừ
ố ấ
ủ
ắ
ố ừ ớ ố ị ừ
ượ
Phép tr hai s nguyên: XY = X + (Y) ể Nguyên t c: l y bù 2 c a s tr Y đ ộ c –Y, sau đó c ng v i s b tr X
đ
35
ấ
ố
Nhân s nguyên không d u
36
ấ
ố
Nhân s nguyên không d u
ư ệ ơ ố ệ ươ ự nh trong h c s 10
ự ng t 0 x 1 = 0 1 x 1 = 0 0 + 1 = 1 ớ 1 + 1 = 10 (nh 1 sang bên trái)
K t qu nhân 2 s n bit không v
Th c hi n t 0 x 0 = 0 1 x 0 = 0 0 + 0 = 0 1 + 0 = 0 ế bit
37
ả ố ượ t quá 2n
ấ
ố
Nhân hai s nguyên có d u
ấ
ằ
ậ ị ố ố ị
ấ ấ ả i nhân hai s nguyên không d u S d ng thu t gi ệ ố ủ B c 1: l y tr tuy t đ i c a s b nhân và s nhân ữ
nguyên, ng ệ ố
B c 2: nhân 2 giá tr tuy t đ i nh các s không
ố ượ ạ ấ i l y bù 2 c l ố ư ị
ủ ỉ
nguyên k t qu ấ
ấ ấ
ế ủ
ả ế
ư ữ
ả
ử ụ ướ ế N u bit d u b ng 0 thì gi ướ d uấ ướ ế n u 2 th a s ban đ u cùng d u thì gi ế n u 2 th a s ban đ u khác d u thì ta l y bù 2 c a k t
b
38
ấ B c 3: hi u ch nh d u c a tích nh sau: ầ ầ c 2 ệ ố ừ ừ ố ượ ở ướ c qu thu đ
ấ
ố
Chia s nguyên không d u
39
ấ
ố
Chia s nguyên có d u
ố ị
ố
ố
ượ
ế
ả
ậ
ị
ấ i chia s nguyên không d u ố c là
ng Q và ph n d R
ư
ệ
ế
ả
ướ ệ ố ủ ị ấ B c 1: L y tr tuy t đ i c a s b chia và s chía ướ ả ậ ử ụ B c 2: S d ng thu t gi ệ ể đ chia các giá tr tuy t đ i, k t qu nh n đ ươ th ướ ư
ủ ấ
ầ ỉ ấ
ấ
ả
ư ấ B c 3: Hi u ch nh d u c a k t qu nh sau: ự (L u ý: phép đ o d u th c ch t là phép l y bù hai)
ố ị
Th ữ
d
d
gi
gi
S dố ư ữ nguyên
ngươ nguyên ấ ả
ữ
d
đ o d u
gi
ấ
ả
nguyên ấ ả
S b chia ngươ ngươ âm
d
đ o d u
40
đ o d u ữ
ả
ấ
âm
ố S chia ngươ âm ngươ âm
nguyên
gi
đ o d u
ộ
ươ
N i dung ch
ng này
ị
ơ
ớ ố
ớ ố
ị
ự ố ự
ễ ễ
2.1. Các h đ mệ ế ữ ệ ễ ể 2.2. Bi u di n d li u và đ n v đo ố ễ ể 2.3. Bi u di n s nguyên ố ọ 2.4. Phép toán s h c v i s nguyên 2.5. Tính toán logic v i s nh phân ể 2.6. Bi u di n ký t ể 2.7. Bi u di n s th c
41
ớ ố
ị
2.5. Tính toán logic v i s nh phân
AND OR XOR
0
0
0
0
0
0
1
0
1
1
1
0
0
1
1
1
1
1
1
0
42
ớ ố
ị
2.5. Tính toán logic v i s nh phân
NOT
1
0
0
1
43
ớ ố
ị
2.5. Tính toán logic v i s nh phân
ự
ệ
ớ
Th c hi n các phép toán logic v i 2
ế
ự
ệ
ả
ố
ớ ừ
ặ
ủ
ố
ị
ị ố s nh phân: ị K t qu là 1 s nh phân khi th c hi n các phép toán logic v i t ng c p bit c a 2 s nh phân đó
ỉ ả
ế
ặ
ộ Các phép toán này ch tác đ ng lên ưở ng đ n
ừ t ng c p bit mà không nh h bit khác.
44
ớ ố
ị
2.5. Tính toán logic v i s nh phân
VD: A = 1010 1010 và B = 0000 1111 XOR
AND OR NOT
01010101 1010 1010
11110000 0000 1111
00001010 10101111 10100101
ậ ậ
45
ế ậ ế ậ ữ ữ Nh n xét: +Phép AND dùng đ xoá m t s bit và gi Nh n xét: +Phép AND dùng đ xoá m t s bit và gi ạ ạ i. i. ữ ố ữ t l p 1 s bit và gi ố t l p 1 s bit và gi +Phép OR dùng đ thi +Phép OR dùng đ thi
ộ ố ể ộ ố ể ố ố nguyên 1 s bit còn l nguyên 1 s bit còn l ể ể ố nguyên 1 s bit khác. ố nguyên 1 s bit khác.
ỏ
H i đáp
46