Chương I
HỆ ĐẾM VÀ MÃ HOÁ
THÔNG TIN TRONG CÁC
HỆ VI XỬ LÝ
1. BiÓu diÔn sè trong c¸c c¬ sè
a) Sè thËp ph©n vµ nhÞ ph©n
ố sè thËp ph©n
ố số nhÞ ph©n
!
b) Sè BCD (Binary Code Decimal)
"#$%&'(
#)*+,* %-/0
# 1%(
2
3
4
5
6
7
,
89:;0%"#$< 4"#$
c) Sè hÖ thËp lôc (Hexa-decimal)
=>?@:>!+<(
ABC>(&C'
;>D/0
7
,
E
2 "
3 #
4 $
5 F
6 G
89:;0( H,5GG
d) Chuyển đổi giữa các cơ số
A) :I0J!')
!K<C0
HL7MLH,:
A) NOCP0Q2 R
S-T.)2 UV/0
1. Chia số thập phân cho và viết kết
quả vào bit n.
2. Thay số bằng số trừ đi kết quả vừa
nhận đ!ợc nhân với .
3. Giảm n đi 1.
4. Lặp lại b!ớc 1.
n
2
n
2
VÝ dô chuyÓn c¬ sè
WO-X/BYZ0
for (n=31,n>0,n ){
res=decimal/(int)pow(2,n);
count << res
}
++
C
0000
0
20
0000
1
20
0441
2
24
4040
3
24
41620;1
4
2/20
b
111110100
d
500203252;1
5
2/52
5264116;1
6
2/116
116128244;1
7
2/244
244256500;1
8
2/500
5000500;02/500
9
=−=
=−=
=−=
=−=
=−=
=⇒=−=
=−=
=−=
=−=
=−=
;/
;/
;/
;/
C¸ch kh¸c ®æi sè nguyªn thËp ph©n sang nhÞ ph©n
5
2
4
[+\/D0 2510 = 110012
§æi sè thËp ph©n lÎ (<1) sang nhÞ ph©n
]BR*^!K _* 9
R`<(S/:]/aBU
!RK
QO-K*!KRK
*+b* 9c
89:;0
0,625 x 2 = 1,250
0,250 x 2 = 0,500 0,62510=0,1012
0,500 x 2 = 1,000
§æi sè hçn hîp thËp ph©n sang nhÞ ph©n
W^dR/Bd!R`b+.!K/
&:]/e_f
89:;0*^' 4_5 4(
g
/Bd 4H
g
`_5 4H_
W^'&Calculator<h:i0
g
1jklE>>l#/
g
81>/8>i+>m
g
#<R*^S=>?_$>_n_"U
g
8R*^
g
#R*^
4_5 4H_
e) Các độ dài thông tin trong máy tính
•
Nibble: cụm 4 bit nhị phân.
•
Byte: cụm 8 bit nhị phân.
•
Word: cụm 16 bit nhị phân.
•
Double word: cụm 32 bit nhị phân.
2. c¸c khu«n d¹ng sè
int,long,short,charg/Bd*
-/:-K:O(!K1"*o1C
shortSpUY/:I&50
1Cint S/BdUY/:I&2 0
1CcharY/:I&70
bZ:]/!:]/
WY9bZ:]/!:]/_P
D'P
qDZ-T^?/Y/:I
:]/[Y/Y/:Id0:]/!(
#!]*o!oY/:I:]/0
g
!(9<:]/
g
-K^?/*Y9:]/
g
!:-
$*CbY/Y/:I* *o?/]
1%r
•
Trong %r _:-p*R/&
_g&
:-0*+ !sY/:I-t
u]0 %r
#+>0) SU
*+gSU
A^<C!%r&
12
31
−
31
2
−
12
31
+−
•
Mã trực tiếp: < x <
•
Cách tính mã bù 2 (Two’s complement):
-
Gán phần dấu=1.
-
Đảo các bít phần thập phân.
-
Cộng 1 vào bit thấp nhất.
•
Ví dụ: mã bù 2 của -0,62510 = -0,10102 là:1,0110.
Tổng: 0,10102 + 1,01102 = 10,00002=210.
[/Z:O%r
m
−
−
21
xxxxxxx
Dấu
,
m bit
X =
m−
−− 21
Mã trực tiếp ít được sử dụng, vì:
•
Số 0 có thể biểu diễn dưới 2 dạng:
0,000 0 (+0) và 1,000 0 (-0)
•
Phép trừ thực hiện phức tạp
Ưu điểm của mã bù:
•
Ở mã bù tính đa trị số 0 được khắc phục:
–
số 0 biểu diễn là: 0,000…0
–
còn 1,000…0 là mã bù của số -1
•
Phép trừ thực hiện cộng mã bù.
3. C¸c phÐp tÝnh sè häc trªn sè nhÞ ph©n
a) PhÐp céng: "D\/pVCMHB
a b y c
0 0 0 0
0 1 1 0
1 0 1 0
1 1 0 1
b) PhÐp trõ0v'VC!K%r <
)
89:;0
89:; 0 5@6H5MS@6UH
H5:
H6:
H@:
c) PhÐp nh©n:v')DS)]
]*+]U"D\/pV
(y = a.b-/0
89:; (0 H,:
?H4:
H34:
a b y
0 0 0
0 1 0
1 0 0
1 1 1
d) PhÐp chia:
#v+03404H,
-!B03404H,
#&/0
89:;02504H6:-
To¸n h¹ng Th¬ng Thao t¸c
0 (
1 j%r
1 A^wSb\U
1
0
0 [Z;
1 $(
1 j%r
0 A^xSb\ U
1 b\ :(
1 j%r
0 A^xSb\2U
0 b\2:(
1 j%r
0 A^xSb\3U
A)*BP02504H6:-
4. c¸c phÐp tÝnh logic trªn sè nhÞ ph©n
#Vv'*!K)<
OV9
a)PhÐp AND: 1001 AND 1100 = 1000
b)PhÐp OR: 1001 OR 1100 =
1101
c)PhÐp XOR: 1001 XOR 1100 = 0101
d)PhÐp NOT: NOT (1100) = 0011
e)PhÐp NAND: 1001 NAND 1100 = 0111
f)PhÐp NOR: 1001 NOR 1100 = 0010
5. x©y dùng alu thùc hiÖn c¸c
phÐp tÝnh sè häc & logic
EyzSE>yzUC<
B+/#kz_v'V9
!dO*R/!
EyzO^.R{
j!O!!b+
\/D
89:;/ZD!'?B:vCEyz
2 v'VE$_n|!VC