Presentazione di PowerPoint

Fondamenti di
Informatica
Codifica Binaria di Numeri
[Sez: 2.5]
Prof. De Maio Carmen
[email protected]
Riassumendo
Binario  Decimale:
1. Mi annoto la posizione a partire dal bit più a destra con la
posizione 0
2. Applico la notazione posizionale
Np = an x pn + an-1 x pn-1 + … + a1 x p + a0
10012 = 1 x 23 + 0 x 22 + 0 x 21 + 1 x 20 = 8 + 1 = 9
Trucchi:
(*) Se il numero binario termina con un bit a 0  il decimale è
necessariamente un numero pari (e viceversa)
(**) Se il numero binario termina con un bit a 1  il decimale
è necessariamente un numero dispari (e viceversa)
Esercizi da svolgere
10012
 N10 = 9
910
 N2 = 1001
110012
 N10 = 25
2510
 N2 = 11001
1010102  N10 = 42
4210
 N2 = 101010
1110102  N10 = 58
5810
 N2 = 111010
11111112  N10 = 127
12710
 N2 = 1111111
1112
 N10 = 7
710
 N2 = 111
0102
 N10 = 2
210
 N2 = 10
11112
 N10 = 15
1510
 N2 = 1111
10102
 N10 = 10
1010
 N2 = 1010
Decimale  Binario:
Riassumendo
1. Divido per 2 finché il risultato della divisione non è 0
2. Leggo il numero binario prendendo i resti di tutte le
divisioni a partire dall’ultima divisione eseuita
9 2
1 4 2
0 2
2
0
1
2
Trucchi:
1
0
(*) Se il numero decimale è pari  il binario termina con un
bit a 0 (e viceversa)
(**) Se il numero decimale è dispari  il binario termina con
un bit a 1 (e viceversa)
Da Binario a Ottale/Esadecimale
Per trasformare un numero binario in
ottale, operiamo la trasformazione
considerando gruppi di 3 bit
gruppi di 4 bit
Da Binario a Ottale/Esaecimale
N2 = 1 0 0 1 1 0 1 1 1 1 0
N8 = 2 3 3 6
N16 = 4 D E
Per trasformare un numero binario in ottale, operiamo la
trasformazione considerando gruppi di 3 bit
Per trasformare un numero binario in esadecimale,
operiamo la trasformazione considerando gruppi di 4 bit
Base 16
• Quali dei seguenti numeri esadecimali sono numeri sono
corretti?
BED
CAR
938
DEAD
BEBE
A129
ACI
DECADE
BAG
DAD
4H3
Esercizi
10012
 N8 = ? 118
10012
 N16 = ?
916
110012
 N8 = ? 318
110012
 N16 = ?
1916
1010102  N8 = ? 528
1010102  N16 = ?
2A8
1110102  N8 = ? 728
1110102  N16 = ?
3A8
11111112  N8 = ? 1778
11111112  N16 = ?
7F16
1112
 N8 = ? 78
1112
 N16 = ?
716
0102
 N8 = ? 28
0102
 N16 = ?
216
11112
 N8 = ? 178
11112
 N16 = ?
F16
10102
 N8 = ? 128
10102
 N16 = ?
A16
10/6/2015
8
Binario  Ottale:
Riassumendo
1. Raggruppo a 3 a 3 i bit a partire dall’ultimo bit più a
destra
2. Converto ciascun gruppo nella corrispondente cifra ottale
Binario  Esadecimale:
1. Raggruppo a 4 a 4 i bit a partire dall’ultimo bit più a
destra
2. Converto ciascun gruppo nella corrispondente cifra
esadecimale
(*) Mi devo ricordare che: A=10 B=11 C=12 D=13 E=14 F=15
10/6/2015
9
Rappresentazione degli Interi
“Modulo e Segno”
N = 0,+1,-1,+2,-2,+3,-3,…
Come possiamo rappresentare il segno di un numero?
Aggiungiamo un ulteriore bit che poniamo a 1 se
il numero è negativo!
Esempio
N10 = +14
N2 = 01110
N10 = -14
N2 = 11110
Soluzioni ESERCIZI
• Scrivere in binario semplice su 7 bit il numero 1310 =
0001101
• Scrivere in modulo e segno su 7 bit il numero 1310 =
0001101
• Scrivere in modulo e segno su 7 bit il numero -1310
=1001101
• Scrivere in modulo e segno su 5 bit il numero 1710 = ??
–
–
–
–
10001
In modulo e segno è -110
RISPOSTA: Non è possibile. Ho bisogno di almeno 6 bit
(010001)
Esercizi da Svolgere (TODO)
• Scrivere in binario semplice su 7 bit il
numero 1110 = 00010112
• Scrivere in modulo e segno su 8 bit il
numero 2510 = 000110012
• Scrivere in modulo e segno su 7 bit il
numero -1210 = 10011002
• Scrivere in modulo e segno su 5 bit il
numero 2010 = errore
Rappresentazione degli Interi
Rappresentazione in complemento a 2
Supponiamo di avere a disposizione k bit
La rappresentazione di –N si ottiene facendo la
conversione in binario del numero 2k-N
Esempio (con 5 bit)
N10 = +14
N10 = -14
N2 = 01110
2k-14 =18 N2 = 10010
Complemento a due:
Riassumendo
Il complemento a due è il metodo più diffuso per la rappresentazione
dei numeri negativi in informatica. La sua enorme diffusione è data dal
fatto che i circuiti di addizione e sottrazione non devono esaminare il
segno di un numero rappresentato con questo sistema per
determinare quale delle due operazioni sia necessaria, permettendo
tecnologie più semplici e maggiore precisione; si utilizza un solo
circuito, il sommatore, sia per l'addizione che per la sottrazione.
1) Un numero nel codice “complemento a 2” (o “complemento a 2
meno 1”) è negativo se il bit maggiore è 1. Altrimenti è un numero
positivo. Cioè: in un codice con 4 bit per il valore e 1 per il segno (del
tipo xxxxx )
- i codici 0xxxx indicano numeri positivi
- i codici 1xxxx indicano numeri negativi
Riassumendo
Complemento a due:
•01000 codifica un numero positivo di valore 8
•00000 codifica un numero “positivo” di valore Zero
ESERCIZI- TO DO
• Siano dati i seguenti numeri in base dieci: +7,
−7, +23, −23, +48, −48.
• Si indichi il loro valore binario nelle rappresentazioni modulo e
segno e complemento a due su 6 bit.
ESERCIZI- TO DO
• In binario puro, e sul numero minimo di bit, si ha che:
– +7 = 111
– +23 = 10111
– +48 = 110000
Base 10
Modulo e segno
Complemento a
due
+7
-7
000111
100111
000111
111001
+23
-23
010111
110111
010111
101001
+48
-48
Non si può fare abbiamo
bisogno di 7 bit