I sistemi di numerazione

Decimale, binaria,esadecimale
Introduzione
 Tutti i sistemi di numerazione sono posizionali
nel senso che le cifre assumono un
determinato valore a seconda della posizione
occupata all’interno del numero
 Es: 245; 24; 2
Il numero 2 ha valori differenti all’interno delle
tre cifre
Sistema decimale
 Il sistema di numerazione decimale è il
sistema di numerazione che abbiamo usato fin
da piccoli
 Utilizza dieci simboli: 0 1 2 3 4 5 6 7 8 9
 Il motivo è legato al numero delle dita delle
mani
Il sistema binario
 Il sistema binario è quello dei calcolatori
 È costuito da due simboli 1 e 0
 La CPU dei calcolatori è costituita
fondamentalmente di porte logiche,una sorta
di interruttori che possono far passare o meno
un segnale elettrico.
 Quando un segnale passa, si attribuisce un
valore logico 1 altrimenti 0
Dal sistema decimale al
sistema binario
 Per passare dal sistema decimale al binario,
basta dividere ripetutamente la parte intera
del numero in decimale per 2 e prendere il
resto
 Es: (134)10
 Il pedice sta ad indicare che ci troviamo in
codice binario
Procedimento dal sistema
decimale al binario
Numero
in
decimal
e
Quozie
nti
della
divisio
ne
134
Resti
LSB: cifra meno significativa
0
67
1
33
1
16
0
8
0
4
0
2
0
1
1
Il numero in binario è 10000110
MSB: cifra più significativa
Dal sistema decimale al
binario
 Si noti che, se il numero è pari, termina con lo
zero, se è dispari termina con 1
 Le potenze di 2 sono date da 1 seguito da un
numero di zeri uguali all’esponente di 2
Es (8)10=(23)10=(1000)2
 Tutti i numeri che precedono una potenza di
due sono dati da un numero di 1 uguale
all’esponente di 2
Es (15)10=(24 -1)10=(1111)2
Dal sistema decimale al
binario
 Se il numero in base dieci è formato da una
parte intera e da una parte decimale, il
procedimento per passare alla base decimale
è il seguente:
1. La parte intera si trasforma normalmente con
divisioni successive per 2
2. La parte decimale, viene isolata e moltiplicata
per due in successione prendendo poi, solo la
parte intera dei prodotti successivi
ES
Dal sistema decimale al
binario
 45,247
 45:2= 24 resto 1; 24:2=12 resto 0; 12:2=6
resto 0; 6:2=3 resto 0; 3:2=1 resto 1; 1:2=0
resto 1
4510=1100012
 0,247*2=0,494; 0.494*2=0,988;
0,988*2=1,978; 0,978*2=1,956;
0.956*2=1,912…..
 La parte decimale sarà: 0,00111
 Il numero trasformato in
binario:110001,00111
Dal sistema binario al
sistema decimale
 Per passare dal sistema binario al decimale basta
moltiplicare le cifre del numero in binario per le
potenze crescenti di due a partire dalla cifra meno
significativa
 Es: 111001100=0*20+0*21+1*22+1*23+0*24+
+0*25+1*26+1*27+1*28=0+0+4+8+64+128+256
=460
 Se il numero in binario è munito anche di parte
decimale, bisogna moltiplicare la parte decimale
per potenze di due con esponente negativo.
 10,1101=0*20+1*21+1*2-1+1*2-2+0*2-3+1*2-4
Operazioni con i numeri
somma
binari
Sottrazione
• se sottraendo ha un numero di bit più piccolo del
minuendo, si aggiungono degli zeri come cifre più
significative per eguagliare il numero di bit.
• si fa il complemento a 1 e poi il complemento a 2 del
sottraendo.
Es:
Con il complemento a 1 si trasformano in 1 gli zeri e 1
in zero; il numero così complementato viene aggiunto a
1100100+ 1 ottenendo il complemento a 2
1001110= •Il minuendo viene sommato al complemento a 2 del
sottraendo. Del risultato si toglie la prima cifra
Dalla meno significativa.
significativ Es: 110011100-10011101
a:0100110 Minuendo: 110011100
Sottraendo: 010011101 (notare che è stato aggiunto
1
uno zero per eguagliare il numero di bit)
Compl a 1=101100010
Compl a 2=101100010+1=101100011
10110010
1100011100+101100011=1011111111
0+0=0
1+0=0
1+0=0
1+1=10
Sistema esadecimale
 Il sistema esadecimale è formato da 16 simboli: 0
123456789ABCDEF
 Per passare dal sistema decimale al sistema
binario bisogna fare le stesse operazioni
effettuate per passare dal decimale al binario.
Bisogna cioè dividere in successione il numero per
16 e prendere i resti
 Es: 56123
 56123:16=3507 resto 11=B; 3507:16=214 resto
3;
214:16=13 resto 6; 13:16=0 resto 13=D
D63B
Dal sistema esadecimale al
sistema decimale e binario
•Per passare dal sistema esadecimale al sistema decimale basta
moltiplicare le cifre del numero in esadecimale per le potenze
crescenti di sedici a partire dalla cifra meno significativa
Es: 48fcd= 13*160+12*161+15*162+8*163+4*164
•Per passare dal sistema esadecimale al sistema binario, basta
trasformare in binario ogni singola cifra indipendentemente dalla
posizione occupata. Ogni cifra deve però occupare sempre quattro
bit. Si deve però partire dalla cifra pù significativa perché nella
trasformazione in binario, la posizione ha importanza.
Es: 48fcd= 0100 1000 1111 1100 1101
4
8
15
12
13
•Per passare dal sistema binario al sistema esadecimale, basta
dividere il numero binario in gruppi di quattro bit a partire dalla
cifra meno significativa e, trasformare ogni gruppo in
esadecimale
Es: 1 0011 1111 0000 0111= 13f07
Rappresentazione dei
numeri reali
 I numeri reale possono essere in virgola fissa
o in virgola mobile
 Nel primo caso, il numero di cifre significative
è ben stabilito e non si può cambiare durante
le operazioni
 Nelle operazioni in virgola mobile, le cifre
significative possono cambiare e, se
un’operazione da come risultato un valore con
un numero di cifre significative più alto
rispetto agli operandi, non si hanno
approssimazioni
Rappresentazione dei
numeri reali
 Ogni numero reale può essere rappresentato
nel seguente modo:
(-1)sM*BE
S è il segno: 0 se il numero è positivo, 1 se il
segno è negativo
M è la mantissa
B è la base
E è l’esponente
Rappresentazione dei
numeri reali
 Per meglio rappresentare i numeri con
esponente sia positivo che negativo, si ricorre
ad una strategia: all’esponente si pone
sempre un valore costante detto bias= 127
 In questo modo, se si ha un esponente
negativo, l’esponente risultante sarà minore di
127, altrimenti, sarà maggiore
 La parte intera deve essere sempre 1
 Nella mantissa si mettono tutte le cifre
escluso la parte intera che si conosce già = 1
Esempi di rappresentazione
di numeri reali
 110011111001=1,10011111001*211=
=1,10011111001*211+127=139
 -0,0011100101=1,1100101*2-3=
=1,1100101*2-3+127=124
 Possiamo costruire la seguente tabella:
segno
mantissa
esponente
0
10011111001
139
1
1100101
124