Upload
phamquangduy
View
19
Download
3
Embed Size (px)
DESCRIPTION
dsdgsg
Citation preview
KIN TRC MY TNH &
HP NG
02 Biu din s nguyn
1
H c s q tng qut2
Tng qut s nguyn c n ch s thuc h c s q bt k c biu din:
(mi ch s xi ly t tp X c q phn t)
V d:
H c s 10: A = 123 = 100 + 20 + 3 = 1.102 + 2.101 + 3.100
q = 2, X = {0, 1}: h nh phn (binary)
q = 8, X = {0, 1, 2,, 7}: h bt phn (octal)
q = 10, X = {0, 1, 2,, 9}: h thp phn (decimal)
q = 16, X = {0, 1, 2,,9, A, B,, F}: h thp lc phn (hexadecimal)
Chuyn i: A = 123 d = 01111011 b = 173 o = 7B h
H c s thng c bin din trong my tnh l h c s 2
0
0
1
1
1
1011 ......... qxqxqxxxxn
nn
Chuyn i gia cc h c s
3
c im
Con ngi s dng h thp phn
My tnh s dng h nh phn, bt phn, thp lc phn
Nhu cu
Chuyn i qua li gia cc h m ?
H khc sang h thp phn (... dec)
H thp phn sang h khc (dec ...)
H nh phn sang h khc v ngc li (bin )
Chuyn i gia cc h c s[1] Decimal (10) Binary (2)
4
Ly s c s 10 chia cho 2
S d a vo kt qu
S nguyn em chia tip cho 2
Qu trnh lp li cho n khi s nguyn = 0
V d: A = 123
123 : 2 = 61 d 1
61 : 2 = 30 d 1
30 : 2 = 15 d 0
15 : 2 = 7 d 1
7 : 2 = 3 d 1
3 : 2 = 1 d 1
1 : 2 = 0 d 1
Kt qu: 1111011, v 123 l s dng,
thm 1 bit hin du vo u l 0 vo
Kt qu cui cng: 01111011
Chuyn i gia cc h c s[2] Decimal (10) Hexadecimal (16)
5
Ly s c s 10 chia cho 16
S d a vo kt qu
S nguyn em chia tip cho 16
Qu trnh lp li cho n khi s nguyn = 0
V d: A = 123
123 : 16 = 7 d 12 (B)
7 : 16 = 0 d 7 Kt qu cui cng: 7B
Chuyn i gia cc h c s[3] Binary (2) Decimal (10)
6
Khai trin biu din v tnh gi tr biu thc
V d:
10112 = 1.23 + 0.22 + 1.21 + 1.20 = 1110
0
0
1
1
1
1011 2.2....2.... xxxxxxn
nn
Chuyn i gia cc h c s[4] Binary (2) Hexadecimal (16)
7
Nhm tng b 4 bit trong biu din nh phn ri chuyn
sang k s tng ng trong h thp lc phn (0000
0,, 1111 F)
V d
10010112 = 0100 1011 = 4B16
HEX BIN HEX BIN HEX BIN HEX BIN
0 0000 4 0100 8 1000 C` 1100
1 0001 5 0101 9 1001 D 1101
2 0010 6 0110 A 1010 E 1110
3 0011 7 0111 B 1011 F 1111
Chuyn i gia cc h c s[5] Hexadecimal (16) Binary (2)
8
S dng bng di y chuyn i:
V d:
4B16 = 10010112
HEX BIN HEX BIN HEX BIN HEX BIN
0 0000 4 0100 8 1000 C` 1100
1 0001 5 0101 9 1001 D 1101
2 0010 6 0110 A 1010 E 1110
3 0011 7 0111 B 1011 F 1111
Chuyn i gia cc h c s[6] Hexadecimal (16) Decimal (10)
9
Khai trin biu din v tnh gi tr biu thc
V d:
7B16 = 7.161 + 12 (B).160 = 12310
0
0
1
1
1
1011 16.16....16.... xxxxxxn
nn
H nh phn
10
c dng nhiu trong my tnh biu din cc gi tr lu trong
cc thanh ghi hoc trong cc nh. Thanh ghi hoc nh c kch
thc 1 byte (8 bit) hoc 1 word (16 bit).
n c gi l chiu di bit ca s
Bit tri nht xn-1 l bit c gi tr (nng) nht MSB (Most Significant
Bit)
Bit phi nht x0 l bit t gi tr (nh) nht LSB (Less Significant Bit)
0
0
1
1
1
1011 2.2....2.... xxxxxxn
nn
tng nh phn11
S nh phn c th dng biu din bt k vic g m bn mun!
Mt s v d:
Gi tr logic: 0 False; 1 True
K t:
26 k t (A Z): 5 bits (25 = 32)
Tnh c trng hp vit hoa/thng + k t l 7 bits (ASCII)
Tt c cc k t ngn ng trn th gii 8, 16, 32 bits (Unicode)
Mu sc: Red (00), Green (01), Blue (11)
V tr / a ch: (0, 0, 1)
B nh: N bits Lu c ti a 2N i tng
S nguyn khng du12
c im
Biu din cc i lng lun dng
V d: chiu cao, cn nng, m ASCII
Tt c bit u c s dng biu din gi tr (khng quan tm n
du m, dng)
S nguyn khng du 1 byte ln nht l 1111 11112 = 28 1 = 25510
S nguyn khng du 1 word ln nht l 1111 1111 1111 11112 = 216
1 = 6553510
Ty nhu cu c th s dng s 2, 3 word.
LSB = 1 th s l s l s l
S nguyn c du13
Lu cc s dng hoc m (s c du)
C 4 cch ph bin:
[1] Du lng
[2] B 1
[3] B 2
[4] S qu (tha) K
S c du trong my tnh c biu din dng s b 2
S nguyn c du[1] Du lng
14
Bit tri nht (MSB): bit nh du m / dng
0: s dng
1: s m
Cc bit cn li: biu din ln ca s (hay gi tr tuyt
i ca s)
V d:
Mt byte 8 bit: s c 7 bit (tr i bit du) dng biu din
gi tr tuyt i cho cc s c gi tr t 0000000 (010) n
1111111 (12710)
Ta c th biu din cc s t 12710 n +12710
-N v N ch khc gi tr bit MSB (bit du), phn ln (gi
tr tuyt i) hon ton ging nhau
S nguyn c du[2] B 1
15
Tng t nh phng php [1], bit MSB dng lm bit du
0: S dng
1: S m
Cc bit cn li (*) dng lm ln
S m: Thc hin php o bit tt c cc bit ca (*)
V d:
Dng b 1 ca 00101011 (43) l 11010100 (43)
Mt byte 8 bit: biu din t 12710 n +12710
B 1 c hai dng biu din cho s 0, bao gm: 00000000 (+0) v
11111111 (0) (mu 8 bit, ging phng php [1])
Khi thc hin php cng, cng thc hin theo quy tc cng nh phn thng
thng, tuy nhin, nu cn pht sinh bit nh th phi tip tc cng bit nh
ny vo kt qu va thu c
S nguyn c du[3] B 2
16
Biu din ging nh s b 1 + ta phi cng thm s 1 vo kt
qu (dng nh phn)
S b 2 ra i khi ngi ta gp vn vi hai phng php
du lng [1] v b 1 [2], l:
C hai cch biu din cho s 0 (+0 v -0) khng ng nht
Bit nh pht sinh sau khi thc hin php tnh phi c cng
tip vo kt qu d gy nhm ln
Phng php s b 2 khc phc hon ton 2 vn
V d:
Mt byte 8 bit: biu din t 12810 n +12710 (c li 1
s v ch c 1 cch biu din s 0)
S b 1 v S b 2
0 0 0 0 0 1 0 1S 5 (8 bit)
1 1 1 1 1 0 1 0S b 1 ca 5
1 1 1 1 1 0 1 1S b 2 ca 5
1+
0 0 0 0 0 1 0 1+ S 5
0 0 0 0 0 0 0 01Kt qu
17
Nhn xt s b 218
(S b 2 ca x) + x = mt dy ton bit 0 (khng tnh bit 1 cao nht
do vt qu phm vi lu tr)
Do s b 2 ca x chnh l gi tr m ca x hay x (Cn gi l
php ly i)
i s thp phn m 5 sang nh phn?
i 5 sang nh phn ri ly s b 2 ca n
Thc hin php ton a b?
a b = a + (b) Cng vi s b 2 ca b.
S nguyn c du[4] S qu (tha) K
19
Cn gi l biu din s dch (biased representation)
Chn mt s nguyn dng K cho trc lm gi tr dch
Biu din s N:
+N (dng): c c bng cch ly K + N, vi K c chn sao cho tng ca K v mt s
m bt k trong min gi tr lun lun dng
-N (m): c c bng cck ly K - N (hay ly b hai ca s va xc nh)
V d:
Dng 1 Byte (8 bit): biu din t -12810 n +12710
Trong h 8 bit, biu din N = 25, chn s tha k = 128, :
+2510 = 100110012
-2510 = 011001112
Ch c mt gi tr 0: +0 = 100000002, -0 = 100000002
Nhn xt20
S b 2 [3] lu tr s c du v cc php tnh ca chng trn
my tnh (thng dng nht)
Khng cn thut ton c bit no cho cc php tnh cng v tnh tr
Gip pht hin d dng cc trng hp b trn.
Du lng [1] / s b 1 [2] dng cc thut ton phc tp v
bt li v lun c hai cch biu din ca s 0 (+0 v -0)
Du lng [1] php nhn ca s c du chm ng
S tha K [4] dng cho s m ca cc s c du chm ng
Biu din s m (s b 2)21
-2n-1 2n-2 23 22 21 20
0
0
1
1
2
2
1
1011 2.2....2.)2.(... xxxxxxxn
n
n
nn
N bits
Phm vi lu tr: [-2n-1, 2n-1 - 1]
V d:
1101 01102 = -27 + 26 + 24 + 23 + 22 + 21
= -128 + 64 + 16 + 4 + 2 =
= -4210
V d (s b 2)22
Tnh gi tr khng du v c du23
Tnh gi tr khng du v c du ca 1 s?
V d s word (16 bit): 1100 1100 1111 0000
S nguyn khng du ?
Tt c 16 bit lu gi tr gi tr l 52464
S nguyn c du ?
Bit MSB = 1 do s ny l s m
p dng cng thc gi tr l 13072
Tnh gi tr khng du v c du24
Nhn xt
Bit MSB = 0 th gi tr c du bng gi tr khng du.
Bit MSB = 1 th gi tr c du bng gi tr khng du tr i 256
(28 nu tnh theo byte) hay 65536 (216 nu tnh theo word).
Tnh gi tr khng du v c du ca 1 s?
V d s word (16 bit): 1100 1100 1111 0000
Gi tr khng du = 52464
Gi tr c du: v bit MSB = 1 nn gi tr c du = 52464
65536 = 13072
Php dch bit v php xoay25
Shift left (SHL): 1100 1010 1001 0100
Chuyn tt c cc bit sang tri, b bit tri nht, thm 0 bit phi nht
Shift right (SHR): 1001 0101 0100 1010
Chuyn tt c cc bit sang phi, b bit phi nht, thm 0 bit tri nht
Rotate left (ROL): 1100 1010 1001 0101
Chuyn tt c cc bit sang tri, bit tri nht thnh bit phi nht
Rotate right (ROR): 1001 0101 1100 1010
Chuyn tt c cc bit sang phi, bit phi nht thnh bit tri nht
Php ton LogicAND, OR, NOT, XOR
26
AND 0 1
0 0 0
1 0 1
OR 0 1
0 0 1
1 1 1
XOR 0 1
0 0 1
1 1 0
NOT 0 1
1 0
Php nhn Php cng Php so snh khc
Php ph nh
V d27
X = 0000 1000b = 8d
X shl 2 = 0010 0000b = 32d = 8 . 22
(X shl 2) or X = 0010 1000b = 40d = 32 + 8
Y = 0100 1010b = 74d
((Y and 0Fh) shl 4) = 1010 0000
OR OR
((Y and F0h) shr 4) = 0000 0100
= 1010 0100 = 164d (khng du)
= (164 28) = -92d (c du)
Mt s nhn xt28
i vi s nguyn khng du
x SHL y = x . 2y
x SHR y = x / 2y
i vi s nguyn bt k
AND dng tt bit (AND vi 0 lun = 0)
OR dng bt bit (OR vi 1 lun = 1)
XOR, NOT dng o bit (XOR vi 1 = o bit )
x AND 0 = 0
x XOR x = 0
M rng:
Ly gi tr ti bit th i ca x: (x SHR i) AND 1
Gn gi tr 1 ti bit th i ca x: (1 SHL i) OR x
Gn gi tr 0 ti bit th i ca x: NOT(1 SHL i) AND x
o bit th i ca x: (1 SHL i) XOR x
Cc php ton t29
Php Cng (+)
Php Tr (-)
Php Nhn (*)
Php Chia (/)
Php cng30
Nguyn tc c bn:
V d:
0 1
0
1
0 1
1 10
1 1 1 0
1 0 0 0
1
1110
1
1
01
1 1 1 0
1 0 0 0
1
1
Php cng31
Php tr32
Nguyn tc c bn: a v php cng
A B = A + (-B) = A + (s b 2 ca B)
V d: 11101 10011 = 11101 + 01101
1 1 1 0
1 0 0 0
1
1010
1
1
01
1 1 1 0
0 1 1 0
1
1
Php tr33
Php nhn34
Nguyn tc c bn:
0 1
0
1
0 0
0 1
Php nhn35
0 1
1 0
011
1
1 0 0
0 00 0 0
0 11 0 0
0 11 0 0
0011
0 1
1 01
1 0 0
Php nhn36
Thut ton nhn37
Gi s ta mun thc hin php nhn M x Q vi
Q c n bit
Ta nh ngha cc bin:
C (1 bit): ng vai tr bit nh
A (n bit): ng vai tr 1 phn kt qu nhn ([C, A, Q]: kt qu nhn)
[C, A] (n + 1 bit) ; [C, A, Q] (2n + 1 bit): coi nh cc thanh ghi ghp
Thut ton:Khi to: [C, A] = 0; k = nLp khi k > 0{
Nu bit cui ca Q = 1 thLy (A + M) [C, A]
Shift right [C, A, Q]k = k 1
}
38
Thut ton nhn ci tin (s khng/c du)
39
Khi to: A = 0; k = n; Q-1 = 0 (thm 1 bit = 0 vo cui Q)
Lp khi k > 0
{
Nu 2 bit cui ca Q0Q-1{
= 10 th A M A
= 01 th A + M A
= 00, 11 th A khng thay i
}
Shift right [A, Q, Q-1]
k = k 1
}
Kt qu: [A, Q]
V dM = 7, Q = -3, n = 4
40
Php chia41
Gi s ta mun thc hin Q / M viKhi to: A = n bit 0 nu Q > 0; A = n bit 1 nu Q < 0; k = n
Lp khi k > 0
{
Shift left (SHL) [A, Q]
A M A
# Nu A < 0: Q0 = 0 v A + M A
# Ngc li: Q0 = 1
k = k 1
}
Kt qu: Q l thng, A l s d
V d php chia42
Prefix in byte (Chun IEC)43
International Electrotechnical Commission (IEC)
Prefix in byte (Chun SI)44
International System of Units (SI)
Ch : khi ni kilobyte chng ta ngh l 1024 byte nhng thc ran l 1000 bytes theo chun SI, 1024 bytes l kibibyte (IEC)
Hin nay ch c cc nh sn xut a cng v vin thng mi dngchun SI
30 GB 30 * 109 ~ 28 * 230 bytes
1 Mbit/s 106 b/s
Homework45
c chng 9, sch ca W.Stalling
c trc slide bi ging s thc