Rappresentazone de numer PH. 3.1, 3.2, 3.3 1 Tp d numer Numer nter, senza segno calcolo degl ndrzz numer che possono essere solo non negatv Numer con segno postv negatv Numer n vrgola moble calcol numerc dfferent grad d precsone precsone sngola (IEEE) doppa precsone (IEEE) precsone quadrupla 2 1
Rappresentazone de numer Notazone poszonale Rappresentazone n base 2 degl nter Conversone bnaro-decmale degl nter Rappresentazone n base 2 de numer frazonar Conversone bnaro-decmale de numer frazonar Rappresentazone n base 16 3 Sstem d numerazone poszonal La base rappresenta l numero d cfre dverse utlzzate per rappresentare numer (cardnaltà dell'alfabeto) Il sstema d numerazone n base 1 usa 1 cfre: {, 1, 2, 3, 4, 5, 6, 7, 8, 9 } Il sstema d numerazone n base 8 (ottale) usa 8 cfre: {, 1, 2, 3, 4, 5, 6, 7 } Il sstema d numerazone n base 2 (bnaro) usa 2 cfre: {, 1 } Il sstema d numerazone n base 16 (esadecmale) usa 16 cfre: {, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F } 4 2
Notazone poszonale (1) Ne sstem d numerazone l peso d ogn cfra dpende dalla poszone: L ntero 853 (n base 1) vale: 8 centnaa (8 1 2 = 8 1 ) + 5 decne (5 1 1 = 5 1) + 3 untà (3 1 = 3 1) L ntero 675 (n base 1) vale: 6 centnaa (6 1 2 = 6 1 ) + 7 decne (7 1 1 = 7 1) + 5 untà (5 1 = 5 1) 5 Notazone poszonale (2) In generale, un numero formato da una sequenza d cfre n una base b : c c... c c c ( ) ( n 2) 2 3 ha un valore determnato dalla somma de pes (potenze della base) per l valore della cfra: ( c b ) = ad esempo, per la rappresentazone d 745 s ha che: = ( c b ) = c 1 + c 1 + c 1 = 7 1 + 4 1 + 5 1 2 1 2 1 6 3
IL sstema bnaro (1) S usa la base 2 (numer bnar): Qund s usano solamente due cfre, ndchamole con e 1 Per esplctare la base utlzzata, usamo un pedce I numer n base 1 saranno scrtt come 853 1 e 675 1 I numer n base 2 saranno scrtt come 1 2 e 11 2 7 IL sstema bnaro (2) S consder un numero bnaro: c c... c c c ( ) ( n 2) 2 3 l valore del numero è la somma de pes d ogn cfra: = ( c 2 ) bt meno sgnfcatvo - l bt d poszone (peso mnore) bt pù sgnfcatvo l bt d poszone 31 (peso maggore) 8 4
IL sstema bnaro (3) Ad esempo, l valore n base 1 del numero bnaro 111 2 è: = ( c b ) = c 2 + c 2 + c 2 + c 2 3 2 1 3 2 1 = 18 + 4+ 12 + 11 = 11 9 Conversone decmale bnaro Procedmento medante dvson rpetute; ad esempo per ottenere l numero bnaro equvalente al numero decmale 11, s procede: 11/2 = 5 resto 1 5/2 = 2 resto 1 2/2 = 1 resto 1/2 = resto 1 1 1 1 1 5
Sstema esadecmale Il sstema d numerazone n base 16 (esadecmale) usa 16 cfre: {, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, E, F } A vale 1,...., F vale 15 Il valore è dato da: = ( c (16) ) Esempo, l valore d (1A5) 16 è : = ( c b ) = c 16 + c 16 + c 16 2 1 2 1 = 1 256 + 1 16 + 5 1 = 421 11 Da base 16 a base 2 (e vceversa) Per convertre da base 16 a base 2 basta: convertre una cfra esadecmale alla volta nella corrspondente rappresentazone n base 2 Esempo: per convertre 1AC5 16 n base 2: 1 A C 5 1 11 11 11 Per convertre da base 2 a base 16 basta: convertre a grupp d 4 bt per volta partendo da quattro bt meno sgnfcatv Esempo: per convertre 1 11 1 111 n base 16: 1 11 1 111 4 A 4 E 12 6
Notazone poszonale per frazonar (1) Per numer con una parte frazonara l meccansmo è lo stesso vengono usate poszon e potenze negatve della base c c... c c c. c c... c ( ) ( n 2) 2 3 1 2 m m c b = = 1 ( ) + ( c b ) Esempo, per rappresentare l numero 853.43 rsulta: 8 1 + 5 1 + 3 1 + 4 1 + 3 1 2 1 1 2 13 Conversone numer frazonar Procedmento che a partre da una frazone F < 1 ottene la rappresentazone d F n bnaro (o una approssmazone) Sequenza rpetuta d moltplcazon: Moltplchamo F per 2 S ottene una parte ntera (che può essere oppure 1) ed una parte decmale F1 La parte ntera rappresenta l prmo bt pù sgnfcatvo mentre F1 vene moltplcato per 2 S ottene una parte ntera (che può essere oppure 1) ed una parte decmale F2 La parte ntera rappresenta l secondo bt pù sgnfcatvo mentre F2 vene moltplcato per 2 fno a quando F vale oppure decdamo d fermarc 14 7
Conversone numer frazonar Esempo, convertre.81 :. 1 1 1 1.81 2 = 1.62 parte nt 1.62 2 = 1.24 parte nt 1.24 2 =.48 parte nt.48 2 =.96 parte nt.96 2 = 1.92 parte nt 1.92 2 = 1.84 parte nt 1 Sequenza rpetuta d moltplcazon,... s prende la parte ntera 15 Conversone numer frazonar Il processo d conversone d una frazone non necessaramente termna Una frazone decmale con un numero fnto d cfre può avere un numero nfnto d cfre nella rappresentazone bnara possamo termnare l procedmento quando rtenamo d aver raggunto una precsone suffcente 16 8
Inter con segno Inter con segno 17 Inter con segno Fnora abbamo solamente consderato la rappresentazone d nter postv, per rappresentare nter con segno: tre possbl rappresentazon sono: la rappresentazone con modulo e segno la rappresentazone n complemento a uno la rappresentazone n complemento a due 18 9
Rappresentazone con modulo e segno La rappresentazone n modulo e segno usa l bt pù sgnfcatvo per ndcare l segno: (+) se bt31 =, (-) se bt31 = 1 Il valore del numero rsulta essere: n 2 N = ( c 2 ) sec = = n 2 = N = ( c 2 ) sec = 1 19 Alcun problem del modulo e segno Addzone e sottrazone complcata da segn de numer modulo de numer Doppa rappresentazone dello zero: nfatt lo zero può essere rappresentato (es.: su 8 bt) sa da che da 1 Non va bene! Vorremmo una rappresentazone che faclt la progettazone della ALU che non deve essere complcata da problem dovut alla rappresentazone 2 1
Rappresentazone n complemento 2 Rappresentazone n complemento 2 21 Rappresentazone n complemento 2 Dato un numero n base 2 : c c... c c c ( ) ( n 2) 3 2 Il valore del numero espresso n complemento a due è : 2 n 2 ( ) = V = c + c b Il bt pù sgnfcatvo assume peso negatvo! 22 11
Rappresentazone n complemento 2 Poche è : cn 1 2 > = n 2 ( c b ) Il numero è postvo se l bt pù sgnfcatvo vale Il numero è negatvo se l bt pù sgnfcatvo vale 1 23 Rappresentazone n complemento 2 Esempo, l numero 1 1 1 su 4 bt vale : 18 + 14 + 2 + 11 = 8+ 4+ 1= 3 Esempo, numer n complemento 2 su 4 bt : 1 1 1 7 1-8 1 1 6 1 1-7 1 1 5 1 1-6 1 4 1 1 1-5 1 1 3 1 1-4 1 2 1 1 1-3 1 1 1 1 1-2 1 1 1 1-1 24 12
Conversone da decmale a bnaro Supposto X numero decmale da convertre a) Fssare l numero n d cfre bnare da usare per la rappresentazone del numero convertto n bnaro b) se X è postvo : s converte X n bnaro su gl n-1 bt meno sgnfcatv s pone l bt pù sgnfcatvo a c) se X è negatvo : s converte n bnaro 2 n-1 + X su gl n-1 bt meno sgnfcatv s pone l bt pù sgnfcatvo a 1 25 Conversone da decmale a bnaro Esempo: convertre l numero X = -4 su n = 5 bt convertamo 2 n-1 + X = 2 4 4 = 16 4 = 12 su n-1 = 4 bt ottenamo l rsultato parzale 1 1 mettamo l bt pù sgnfcatvo (l qunto) a 1 ottenamo l rsultato fnale 1 1 1 26 13
Lavorare con l complemento a due Espansone: ad es. passare da numer a 16 bt a numer a 32 bt rchesto per operazon con regstr (32 bt) e operazon mmedate (16 bt) Estensone del segno 16 bt nemo sgnfcatv restano nvarat copa l segno (bt pù sgnfcatvo) ne rmanent 16 bt 1 2 1 1111 1111 1111 111-2 1111 1111 1111 1111 1111 1111 1111 111 27 Addzone bnara PH 3.3 28 14
Esempo d addzone Supponamo d addzonare due numer bnar 11 (11 1 ) e 11 (18 1 ) : 1 rport 1 1 1 + 1 1 = 1 1 1 1 29 Artmetca complemento a due Operazone d negazone Negazone nell'artmetca complemento a 2 : dato un numero A n rappresentazone bnara complemento a due voglamo ottenere A (sempre n rapp.zone bnara) Per ottenere la rappresentazone n complemento due d -A (1) s complementa ogn cfra bnara d A (2) s aggunge 1 alla sequenza d bt cos ottenuta 3 15
Operazone d negazone Esempo, s vuole ottenere la negazone del numero A = -62 (nella rappresentazone bnara complemento 2 su 8 bt) la rappresentazone su 8 bt d 62 è : 1 1 1 l suo complemento bt a bt è : 1 1 1 1 1 sommando 1 s ottene l rsultato : 1 1 1 1 1 31 Operazone d negazone, gustfcazone Supponamo che A (n complemento a 2) sa l numero da negare, l suo valore è: n 2 A= cn 1 2 + ( c 2 ) = Costruamo B (negazone d A) complementando bt d A ed aggungendo 1, ottenamo: n 2 B= c 2 + 1 + ( c 2 ) = Calcolamo A + B; se vale A + B = allora B = -A n 2 ( ) 2 1 ( ) 2 = A+ B= c + c + + c + c 32 16
Operazone d negazone, gustfcazone Osservando che : ( c+ c) = 1 Dall'espressone: n 2 ( ) 2 1 ( ) 2 = A+ B= c + c + + c + c Rcavamo : n 2 A+ B= 2 + 1+ 2 = 2 + 1 + (2 1) = = 33 Operazone d negazone, osservazon Supponamo d negare l numero A = (rappresentazone n complemento a 2 su 5 bt) la rappresentazone: l complemento bt a bt: 1 1 1 1 1 sommando 1 : l bt d rporto vene gnorato! 1 1 1 1 1 1 1 1 1 1 + 1 34 17
Operazone d negazone, osservazon Se s prova a negare 2 ne rsulta: la rappresentazone: 1 l complemento bt a bt: 1 1 1 1 sommando 1 : la negazone del numero non può essere rappresentata n complemento a 2! 1 1 1 1 1 1 1 1 1 + 1 35 Operazone d negazone, osservazon Il massmo postvo è : n 1 2 1 corrspondente a : 1 1... 1 1 1 1 Il massmo negatvo è : 2 corrspondente a : 1... Un numero negatvo n pù rspetto a numer postv Assmetra nevtable, dovendo rappresentare: postv, lo zero, e negatv con un numero 2 n d confgurazon possbl 36 18
La regola d overflow Nella somma d nter con segno rappresentat n complemento due s verfca un OVERFLOW se e solo se: la somma d due nter postv da come rsultato un ntero negatvo la somma d due nter negatv da come rsultato un ntero postvo La somma d due operand con segno opposto non può dare overflow; nfatt: la somma è mnore o uguale, n valore assoluto, d uno degl addend degl addend; es. -1 + 4 = -6 37 Somma e overflow (1) Somma de numer 5 e 4 su n=4 bt ( max rappr. 2 3-1=7 ) 1 1 + overflow, la somma d due numer postv non può dare un negatvo! 1 = 1 1 38 19
Somma e overflow (2) Somma de numer -6 e -7 su n=4 bt ( mn rappr. -2 3 = -8 ) 1 1 + 1 1 = l ultmo bt d rporto vene gnorato 1 1 1 overflow, la somma d due numer negatv non può dare un postvo! 39 Sottrazone Per calcolare A B s osserva che A B = A + (-B) procedmento: negazone d B somma A+negazone d B nella rappresentazone complemento 2 non è necessaro un crcuto apposto dverso da quello della somma per mplementare n hardware la sottrazone! 4 2
Overflow sottrazone Sottrazone mplementata con negazone e somma Vale regola overflow somma somma d due nter postv con rsultato un ntero negatvo somma d due nter negatv con rsultato un ntero postvo Sottrazone operand con lo stesso segno NO overflow operand segno dverso: se rsultato segno dverso dal mnuendo SI overflow Rassunto condzon overflow operazone A + B A + B A - B A - B A < < B < < rsultato < < 41 Esempo overflow n sottrazone A B = 5 (-3) = A + (-B) = + 8 A = 5 rappr. su 4 bts A = 11 B = -3 rappr. complemento 2 B = 111 - B = 11 1 1 + 1 1 = A postvo, B negatvo rsultato negatvo overflow 1 42 21
43 22