sistemi di numerazione -...
TRANSCRIPT
Università degli Studi di Roma – Tor Vergata
Facoltà di Ingegneria – Corso di Laurea in Ingegneria Medica
SISTEMI DI NUMERAZIONE
Come nei calcolatori sono
rappresentati i numeri
Informatica - Ingegneria Medica -2013 - Franco Del Bolgia Slide 2 of 55_
Numeri
I numeri rappresentano il modo simbolico per
descrivere su un supporto delle quantità.
Fin dall’antichità gli esseri umani hanno avuto
bisogno di quantificare le cose e gli eventi.
Anche gli animali hanno un loro modo di
quantificare e qualificare
Ci sono popolazioni che ancora usano solo piccoli
numeri
Alcune popolazioni hanno ideato le loro modalità di
rappresentazione
Informatica - Ingegneria Medica -2013 - Franco Del Bolgia Slide 3 of 55_
Numerali
Numerale è una stringa di simboli che
rappresentano un numero
124 BF189AH 100000 MCMLXXXVIII
Il valore non è definibile se non si conoscono le
regole che sono state definite per le modalità
di rappresentazione
NUMERI Maya - Babilonesi - Egizi - Etruschi
Sistemi additivi e sistemi posizionali http://it.wikipedia.org/wiki/File:Babylonian_numerals.svg
Informatica - Ingegneria Medica -2013 - Franco Del Bolgia Slide 7 of 55_
Sistemi di numerazione
SISTEMI ADDITIVI
Sono stabiliti dei simboli base
Il valore del numero risulta dalla somma o differenza di una
sequenza di tali simboli posizionati in modo opportuno
Nella rappresentazione è insita una operazione matematica
non costante
Risulta a volte impossibile rappresentare tutti i numeri
Per i Maya ci sono 20 simboli base costituiti da 3 ripetuti
Per i Babilonesi 60 costituiti da 2 simboli ripetuti
Per i romani sono 7 (I V X L C D M)
Informatica - Ingegneria Medica -2013 - Franco Del Bolgia Slide 8 of 55_
NUMERAZIONE ROMANA
I II III IV V VI VII
simboli usati e loro peso
I uno V cinque X dieci L cinquanta
C cento D cinquecento M mille
Il simbolo può avere valore positivo o negativo a secondo che preceda un simbolo minore o uguale oppure segua un simbolo di peso maggiore.
IV (4=-1+5) VI (6=5+1)
XL (40=-10+50) LX (60=50+10)
Poi ci sono altre regole …..
Sistemi di numerazione
C = C *1000 = 50000
Informatica - Ingegneria Medica -2013 - Franco Del Bolgia Slide 9 of 55_
Sistemi di numerazione
SISTEMI POSIZIONALI o Arabi
Vi troviamo due condizioni essenziali:
1-E’ definito un’insieme di simboli base
2-Ad ogni simbolo è associato un peso, che
NON cambia mai.
Il valore del numero è funzione del valore
assegnato al simbolo e della posizione in cui il
simbolo stesso si trova nel numerale
SIMBOLOGIA della CIFRA decimale
0 1 2 3 4 5 6 7 8 9
Informatica - Ingegneria Medica -2013 - Franco Del Bolgia Slide 10 of 55_
Criterio di rappresentazione-Numeri Naturali
Informatica - Ingegneria Medica - 2013 - Franco Del Bolgia Slide 10 of XX _
Il peso di ogni singolo simbolo è relazionato al precedente ed
al successivo dall’aggiunta o dalla sottrazione del peso
unitario
3 + 1 = 4 = 5 – 1 3 precede 5 segue
Giunti all’ultimo simbolo si ricomincia dal primo simbolo con
il riporto di una unità nella PRIMA colonna a sinistra
9 + 1 = 0 con il riporto di 1 = 10
19+1 = 0 con il riporto di 1 che sommato a 1(decine) da
2(decine) = 20 e così via fino a 99
99 + 1 = 0 unità con il riporto di 1(decine) che sommato a 9
da 0 con il riporto di 1(centinaia) = 100
Informatica - Ingegneria Medica -2013 - Franco Del Bolgia Slide 11 of 55_
Rappresentazioni numeriche
Sistema decimale 24D = 2x10(1) + 4x10(0) = 20 + 4
4735D = 4x10(3) + 7x10(2) + 3x10(1) + 5x10(0)
= 4000 + 700 + 30 + 5
La costruzione di un qualsiasi numero può essere effettuata
aggiungendo allo 0 più a destra l’unità tenendo presente che
ogni volta che si arriva a 9, l’ulteriore valore è dato
dall’aggiunta (riporto) nella colonna a sinistra di 1 e
riazzerando il simbolo più a destra. Esempio:
migliaia centinaia decine unità
0 0 0 1 2 3 4 5 6 7 8 9 0 1 0 1 2 3 4 5 6 7 8 9 2 0 Perché gli uomini hanno scelto un sistema decimale! Perché hanno 10 dita!
9 9 0 0 1
Informatica - Ingegneria Medica -2013 - Franco Del Bolgia Slide 12 of 55_
Sistema decimale-Numeri Naturali
Informatica - Ingegneria Medica - 2013 - Franco Del Bolgia Slide 12 of XX _
Tutti gli infiniti valori interi positivi sono ottenuti
da combinazioni ordinate di un numero definito
di cifre. Ogni singola cifra assume quindi un
peso nel numero, che è funzione della sua
posizione.
7924D = 7*103 + 9*102 + 2*101 + 4*100
4735D = 4*103 + 7*102 + 3*101 + 5*100
32196D = 3*104+2*103+1*102 + 9*101 + 6*100
Informatica - Ingegneria Medica -2013 - Franco Del Bolgia Slide 13 of 55_
SISTEMI DI NUMERAZIONE
Informatica - Ingegneria Medica - 2013 - Franco Del Bolgia Slide 13 of XX _
10000
RIPORTO 1
ma con errore
OVERFLOW
Informatica - Ingegneria Medica -2013 - Franco Del Bolgia Slide 15 of 55_
Nunerazione ternaria
Realizziamo ora, come esempio una
nostra base numerica del tutto arbitraria
formata da solo 3 simboli
& di peso 0
$ di peso 1
§ di peso 2
scriviamo i valori che possiamo
rappresentare con quattro cifre partendo
da zero
si ottiene la seguente tabella dove nella
colonna di sinistra è rappresentato il
numero espresso con la nostra base
ternaria , mentre nella colonna di destra il
numero espresso in base decimale
Base 3 Base 10
Informatica - Ingegneria Medica -2013 - Franco Del Bolgia Slide 16 of 55_
L’elettronica nel calcolo
Elettronicamente si possono realizzare dispositivi in
grado di effettuare operazioni matematiche.
Dispositivi analogici
Sommatore
Amplificatore
Integratore
Derivatore
Questa tecnologia è però imprecisa e risente in modo
pesante di varie condizioni al contorno
Temperatura, rumore, caratteristiche dei singoli componenti
nel tempo
Informatica - Ingegneria Medica -2013 - Franco Del Bolgia Slide 17 of 55_
Rappresentazione Binaria
Anche i calcolatori sono realizzati con tecnologie elettroniche ma le modalità con cui rappresentano le informazioni sono diverse.
I circuiti che li compongono vengono fatti funzionare come elementari interruttori, dando così luogo a due soli stati possibili
circuito APERTO o CHIUSO
0 o 1
Informatica - Ingegneria Medica - 2013 - Franco Del Bolgia Slide 17 of XX _
Informatica - Ingegneria Medica -2013 - Franco Del Bolgia Slide 18 of 55_
Rappresentazione Binaria
Questa condizione può essere sfruttata per
definire una base di numerazione diversa da
quella decimale
con una base di due soli simboli
che possiede le stesse proprietà e
segue le stesse regole dell’algebra.
Con opportuni insiemi di interruttori e circuiti
adeguati si possono
Rappresentare e memorizzare i numeri binari
Rappresentare funzioni da svolgere Informatica - Ingegneria Medica - 2012 - Franco Del Bolgia Slide 18 of XX _
Informatica - Ingegneria Medica -2013 - Franco Del Bolgia Slide 20 of 55_
Rappresentazione Binaria
Nel sistema binario il set di
simboli base è composto solo
da 0 e 1
Decimale 23 22 21 unità
0 0 0 0 0 1 2 3 4 5 6 1 0 1 1 1 0 0 1 1 0 7 1 8 1 0 0 0 1 9 10 1 0 11 1
Perché i computer adottano un sistema binario !
Perché un circuito può avere 2 soli stadi stabili aperto o chiuso !
Utilizzando ad esempio una
combinazione di 4 cifre
binarie (“interruttori”)
Perché nei computer si utilizza il sistema binario ?
Perché un circuito può avere 2 soli stadi stabili ben definiti aperto o chiuso !
Informatica - Ingegneria Medica -2013 - Franco Del Bolgia Slide 21 of 55_
Rappresentazione Binaria
Il valore della combinazione sarà allora :
1011B
1*23 + 0*22 + 1*21 + 1*20 = 8 + 0 + 2 + 1
1011B binario = 11D decimale
Così come per il sistema decimale, possiamo
stabilire di lavorare con un numero prefissato di
cifre
999 tre cifre 99999 cinque cifre 9 una cifra
La singola cifra prende il nome di BIT
(Binary Digit)
Informatica - Ingegneria Medica -2013 - Franco Del Bolgia Slide 22 of 55_
Rappresentazione Binaria
Con 4 cifre decimali si conta da 0 a 9999
avendo a disposizione 10000 combinazioni
Con 4 cifre binarie si conta da 0 a 1111 (15D)
avendo a disposizione 16 combinazioni
Con 8 cifre binarie da 0 a 11111111 (255D)
avendo a disposizione 256 combinazioni
Con k cifre a disposizione posso rappresentare (10k -1) numeri
Con n cifre a disposizione posso rappresentare (2n -1) numeri
Informatica - Ingegneria Medica -2013 - Franco Del Bolgia Slide 23 of 55_
Ripetizione dei simboli
00 0 0 0 0
01 0 0 0 1
02 0 0 1 0
03 0 0 1 1
04 0 1 0 0
05 0 1 0 1
06 0 1 1 0
07 0 1 1 1
08 1 0 0 0
09 1 0 0 1
10 1 0 1 0
11 1 0 1 1
12 1 1 0 0
13 1 1 0 1
14 1 1 1 0
15 1 1 1 1
Informatica - Ingegneria Medica -2013 - Franco Del Bolgia Slide 24 of 55_
Codifica esadecimale
0 0 0 0 0
1 0 0 0 1
2 0 0 1 0
3 0 0 1 1
4 0 1 0 0
5 0 1 0 1
6 0 1 1 0
7 0 1 1 1
8 1 0 0 0
9 1 0 0 1
A 1 0 1 0
B 1 0 1 1
C 1 1 0 0
D 1 1 0 1
E 1 1 1 0
F 1 1 1 1
La numerazione esadecimale base 16 (sedici simboli pesati) nasce per la
necessità di associare (rappresentare un numero binario di 4 cifre), con un
unico simbolo pesato, i 6 pesi che hanno valori superiori al 9, dal 10 al 15
Informatica - Ingegneria Medica -2013 - Franco Del Bolgia Slide 25 of 55_
Un numero esadecimale è composto da lettere
che assumo i per da 10 a 15 con una sola
cifra e la base diventa di 16 simboli
A3CDH = A*163 + 3*162 + C*161 + D*160 =
= 10*4096 + 3*256 + 12*16 + 13*1
= 40960 + 768 + 72 +13
A3CDH = 41933D
Informatica - Ingegneria Medica -2013 - Franco Del Bolgia Slide 26 of 55_
Codifica dei dati – Tipologia dei dati
Numerici
Numeri naturali – interi – razionali - irrazionali
0,1,2,3,4,5,…. ; -5,-4,-3,…,0,1,2,3,4,5,….;
½ ; ¼, 1/8, 1/10 \ 1/3
0,5 ; 0,25 ; 0,125 ; 0,1 ; \ 0,3333…
Non numerici (Alfabetici o Alfanumerici)
A,a,B,b,C,c,…….., 00150,……
Istruzioni
+, -, *, /, carica, deposita , trasferisci,……..
Informatica - Ingegneria Medica -2013 - Franco Del Bolgia Slide 27 of 55_
Rappresentazione a numero finito di bit
Nell’utilizzo dei sistemi informatizzati è di
questione fondamentale stabilire il numero di bit
da utilizzare per la rappresentazione dei
numeri.
Tale numero di bit ci permette di stabilire il
massimo \ minimo valore rappresentabile per
evitare le condizioni di
OVERFLOW \ UNDERFLOW
Informatica - Ingegneria Medica -2013 - Franco Del Bolgia Slide 28 of 55_
Errori di rappresentazione
Numeri a precisione finita
numero di cifre definito a priori (es. 2)
80 + 23 = 03 ? (103) errore chiusura o overflow)
Associazione nelle operazioni (Proprietà associativa)
70+80-60 = ?
70+(80-60)= 70+20 = 90
(70+80)-60 = 150 - 60 = -10
Errori di arrotondamento / troncamento
È possibile rappresentare esattamente un numero decimale ?
SI - Se la parte decimale è multiplo di frazioni di 2 fino al numero di bit che uso per la rappresentazione binaria multiplo di ½ per 1 bit o ¼ per 2 bit o 1/8 per 3 bit etc…
Informatica - Ingegneria Medica -2013 - Franco Del Bolgia Slide 29 of 55_
Rappresentazione dei decimali
I decimali si rappresentano con lo stesso criterio
posizionale con cui rappresentiamo gli interi.
S*102+ S*101+ S*100 +S*10-1 +S*10-2 +S*10-3 (dec)
22 + 21 + 20 + 2-1 + 2-2 + 2-3 + 2-4
4 2 1 ½ ¼ 1/8 1/16…..
………………0,5 0,25 0,125 0,0625 …..
101,1011B = 4 + 1 + 0,5 + 0,125 + 0,0625
5,6875D
Rappresentazione in virgola fissa esempi
Informatica - Ingegneria Medica -2013 - Franco Del Bolgia Slide 30 of 55_
Numeri interi
I numeri interi sono l’estensione ai valori negativi dei
numeri naturali
Si rappresentano con il segno – (meno) davanti al
numero.
-14 - 325
Per i numeri espressi in binario scritto su carta non ci
sono problemi è la stesso meccanismo, ma …
(pensiamo al supporto elettronico)
Rappresentazione con bit di segno + = 0 - = 1
Rappresentazione complemento ad 1 (obsoleto)
Rappresentazione complemento a 2
Informatica - Ingegneria Medica -2013 - Franco Del Bolgia Slide 31 of 55_
Rappresentazione con bit di segno 1 bit in più
Se usiamo 5 bit , 1 bit per il segno e 4 bit per il numero
0- 10000
-1 10001
-2 10010
-3 10011
-4 10100
-7 10111
……………
-12 11100
……………
0+ 00000
1 00001
2 00010
3 00011
4 00100
7 00111
……………
12 01100
……………
Intervallo [-15, +15]
È poco usata per
l’elevata
complessità della
circuiteria da
realizzare
Doppia
rappresentazione
dello zero
Informatica - Ingegneria Medica -2013 - Franco Del Bolgia Slide 32 of 55_
Rappresentazione complemento a 1
Se usiamo 4 bit , 1 bit per il segno e 3 bit per il numero
Intervallo [-7, +7]
Per cambiare di
segno si
complementa bit a
bit
Doppia
rappresentazione
dello zero
[-2n-1+1, +2n-1-1]
0- 1111
-1 1110
-2 1101
-3 1100
-4 1011
-7 1000
0+ 0000
1 0001
2 0010
3 0011
4 0100
7 0111
Si rappresentano i numeri 2n-2…..21 20
Il complemento si ottiene cambiando
0 in 1 e 1 in 0
0101 complementato 1010
Informatica - Ingegneria Medica -2013 - Franco Del Bolgia Slide 33 of 55_
Rappresentazione complemento a 2
I valori negativi sono ottenuti complementando il valore
positivo e sommando 1
Con 4 bit (1+3)
Intervallo [-8, +7]
UNICA
rappresentazione
dello zero
[-2n-1, +2n-1-1]
-1 1111
-2 1110
-3 1101
-4 1100
-5 1011
-6 1010
-7 1001
-8 1000
0+ 0000
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111
Informatica - Ingegneria Medica -2013 - Franco Del Bolgia Slide 34 of 55_
Rappresentazione complemento a 2
Intervallo più esteso di una unità
Intervallo asimmetrico Intervallo [-8, +7]
Il segno è associato alla sola cifra più significativa
Si rappresentano i numeri -2n-1,+2n-2,...... +21, +20
Esempio
complem + 1
6 = 0110 1001 + 0001 = 1010
-6 = 1010
1*(-23)+ 0*(22)+ 1*(21) +0*(20) = -8 + 0 + 2 + 0=-6
Informatica - Ingegneria Medica -2013 - Franco Del Bolgia Slide 35 of 55_
Interpretazione grafica
Numeri reali positivi
Negativi segnati Negativi c’1 e c‘2
Informatica - Ingegneria Medica -2013 - Franco Del Bolgia Slide 36 of 55_
Operazioni algebriche
Somma
A+B+C+D+E = Risultato
A+B=x x+C=y y+D=z z+E=R
Sottrazione
A-B-C-D=Risulatato A-(B+C+D) = Risultato
B+C=x x+D=y A-y=R
Moltiplicazione
A * B = Risultato
A+A+A+A+A+A….B volte = Risultato
B+B+B+B+B……..A volte = Risultato oppure ….
Divisione
A / B = Risultato …… esempio
Informatica - Ingegneria Medica -2013 - Franco Del Bolgia Slide 37 of 55_
Operazione somma
Sommare i due numeri 10111 e 11110 a 5 bit
Le operazioni di somma possono aver bisogno di 1 bit
in più
1 1 1 1 riporti
1 0 1 1 1 +
1 1 1 1 0 =
1 1 0 1 0 1
23 +
30 =
53 (21)
Regole della somma: 0+0 = 0
0+1 = 1
1+0 = 1
1+1 = 1 con riporto di 1
Informatica - Ingegneria Medica -2013 - Franco Del Bolgia Slide 38 of 55_
Operazioni-Somma
Le operazioni
matematiche nel
sistema binario si
eseguono con le
identiche modalità
del sistema
decimale
Errore di overflow
su numeri definiti
positivi
173D
101D
274D
274D > 255D OVERFLOW
Informatica - Ingegneria Medica -2013 - Franco Del Bolgia Slide 39 of 55_
Operazioni prodotto
Moltiplicare i due numeri 111 e 011 a 3 bit
Le operazioni di prodotto possono aver bisogno di 2n bit
dove n è il numero bit stabiliti per la rappresentazione
1 1 1 *
0 1 1 =
111 1
111 1
0 0 0
1 0 1 0 1
7 *
3 =
21
7 * 7 = 49 3 bit
110001 = 32+16+1 = 49
32.16.8.4.2.1
Risultato 6 bit
Moltiplicare i due numeri
111 e 111 a 3 bit
Informatica - Ingegneria Medica -2013 - Franco Del Bolgia Slide 40 of 55_
Sottrazione
Regole della sottrazione: 0 - 0 = 0
1 - 0 = 1
1 - 1 = 0
0 - 1 = 1 con prestito di 1
Informatica - Ingegneria Medica -2013 - Franco Del Bolgia Slide 41 of 55_
Operazioni - sottrazione
I numeri naturali non ammettono i negativi
Il minuendo deve essere sempre maggiore del sottraendo
15 – 6 = 9
0 0 0 0 prestiti
1 1 1 1 – 15-
0 1 1 0 6
1 0 0 1 9
13 – 6 = 7
0 1 1 0 prestiti
1 1 0 1 – 13 -
0 1 1 0 6
0 1 1 1 7
6 - 13 = -7
1 0 0 1 0 prestiti
0 1 1 0 – 6 -
1 1 0 1 13
1 1 0 0 1 -7 (25)
Se non ho definito i
numeri negativi il
suo valore è
sbagliato
Informatica - Ingegneria Medica -2013 - Franco Del Bolgia Slide 42 of 55_
Esempi di somme
1 1 riporti
0 0 0 1 +
0 0 1 1 =
0 1 0 0
Sommare i numeri lavorando a 4 bit segnati e non
1 1 1 riporti
0 0 1 0 1 +
0 0 1 1 1 =
0 1 1 0 0
La regola è se il risultato ha
segno opposta agli operandi
di egual segno allora se c’è
stato un overflow il risultato
non è corretto.
1 1 0 1 1 rip.
1 1 1 0 1 1 +
1 1 1 0 0 1 =
1 1 0 1 0 0
NS
5 +
7 = S
12 (-4)
S
-5 +
-7 =
-12 (4)
3 bit con overflow
4 bit senza overflow
Informatica - Ingegneria Medica -2013 - Franco Del Bolgia Slide 43 of 55_
Sottrazione svolta come somma
A – B = C
La sottrazione prevede
un minuendo A
un sottraendo B
un risultato differenza C
Lo stesso risultato si
ottiene
sommando il minuendo A
al complemento del
sottraendo B alla base
numerica
ed eliminando il riporto
9 – 4 = 5
9 + 6 = 1 5
17 – 8 = 9
17 + 2 = 1 9
6 è il complemento a 10 di 4
2 è il complemento a 10 di 8
Informatica - Ingegneria Medica -2013 - Franco Del Bolgia Slide 44 of 55_
Sottrazione
Operazione
da svolgere
decimale
Operazione
svolta in
complemento
con base 10
Operazione
da svolgere
binario
Complemento
a 2 del
sottraendo
Operazione
svolta in
complemento
con base
9 –
6 =
------
3
9 +
4 =
------
13
1001 –
0110 =
----------
0011
1001 +
(1001+1)
01001 +
11010 =
----------
10011
20 –
12 =
------
8
20 +
88 =
------
108
10100 –
01100 =
----------
01000
10100 +
(10011 +1)
1 0 1 0 0 +
1 0 1 0 0 =
----------------
1 0 1 0 0 0
Nella numerazione binaria effettuare il complemento a due equivale a
trasformare gli 1 in 0 e gli 0 in 1 e sommare 1 al risultato
01011 (11) il suo C1s è 10100 + 1 = 10101 (-11)
Informatica - Ingegneria Medica -2013 - Franco Del Bolgia Slide 45 of 55_
Numerali
Un numerale è una stringa di cifre (sequenza di simboli) che
può rappresentare un numero solo se viene specificata la
base.
Lo stesso numerale può rappresentare più valori se
considerato scritto su basi numeriche diverse.
101110base
centouno mila centodieci in decimale
Valore decimale se …….
46D se letto come binario naturale
-17D se letto in complemento a 1
-18D se letto in complemento a 2
33352D se letto in ottale
1052944D se letto in esadecimale
Informatica - Ingegneria Medica -2013 - Franco Del Bolgia Slide 46 of 55_
Conversioni tra basi numeriche diverse
La conversione tra basi numeriche diverse si può eseguire
utilizzando la formula standard già vista in precedenza:
Indicando con S il simbolo della base di origine e con B valore
nella base di destinazione:
Sn-1 Sn-2.. S2 S1 S0 = Bn-1 x Bn-1 + Bn-2 x Bn-2 +..+ B1 x B1 + B0 x B0
568D = 101 x 101010 + 110 x 10101 + 1000 x 10100
568D = 101 x 1100100 + 110 x 1010 + 1000 x 1
568D = 1000111000 (10D bit)
568D = 111110100 + 111100 + 1000
Informatica - Ingegneria Medica -2013 - Franco Del Bolgia Slide 47 of 55_
Conversioni tra basi numeriche diverse
Osserviamo la relazione
Bn-1 x Bn-1 + Bn-2 x Bn-2 +..+ B1 x B1 + B0 x B0
Bn-1 x Bn-1 + Bn-2 x Bn-2 +..+ B1 x B1 + B0 x 1
B
B B xB .. B xB B xB 01
12-n
2-n1-n
1-n
B
B B .. B xB B xB 0
13-n
2-n2-n
1-n
r esto i l è B dove B .. B xB B xB 013-n
2-n2-n
1-n
Informatica - Ingegneria Medica -2013 - Franco Del Bolgia Slide 48 of 55_
Conversioni tra basi numeriche diverse
Esempio:
573D da convertire in binario
valore quoziente resto
573 286,5 1 Cifra meno significativa
286 143 0
143 71,5 1
71 35,5 1
35 17,5 1
17 8,5 1
8 4 0
4 2 0
2 1 0
1 0,5 1 Cifra più significativa
Informatica - Ingegneria Medica -2013 - Franco Del Bolgia Slide 49 of 55_
Rappresentazione in virgola mobile
Risulta molto spesso più agevole rappresentare i numeri in
formato diverso (normalizzato) la virgola viene spostata
fintantoché la cifra delle unità è 0 mentre la prima cifra decimale è
la cifra più significativa del numero, il tutto moltiplicato per una
potenza di 10 elevata al numero di passi di cui si è spostata la
virgola positiva quando si sposta verso sinistra, negativa quando
si sposta verso destra
-1.678.928D 0,00000762342D
- 0,1678928D x 107D
0,762342D x 10-5D
segno negativo segno positivo
1678928 mantissa 762342 mantissa
7 esponente positivo -5 esponente negativo
Informatica - Ingegneria Medica -2013 - Franco Del Bolgia Slide 50 of 55_
Rappresentazione in virgola mobile
Lo stesso vale per la numerazione binaria tutti i numeri sono
espressi in base 2
- 10011,01B 0,000101011B
- 0,1001101B x 10B101 (5) 0,101011B x 10B
1001 (-3)
Complemento a 2 1,0110011B 0,101011B
1 segno - 0 segno +
0110011B mantissa 101011B mantissa
101 (5) esponente base 2 1001 (-3) esponente negativo
Informatica - Ingegneria Medica -2013 - Franco Del Bolgia Slide 51 of 55_
Numero di bit per le rappresentazioni
Numeri in precisione singola 32 bit
23 per la mantissa il primo con segno
8 per l’esponente di cui il primo è il segno
Si rappresentano i numeri tra
-1038 e -10-38 10-38 e 1038
0 22 bit mantissa 0 7 bit esponente
0 segno 8 bit esponente 22 bit mantissa
Modello ISO (internationl Organization for Standardization)
OSI (Open System Interconnection protocols) e standard IEEE 754
Informatica - Ingegneria Medica -2013 - Franco Del Bolgia Slide 52 of 55_
Numero di bit per le rappresentazioni
Numeri in doppia precisione 64 bit
52 per la mantissa il primo con segno
11 per l’esponente
Si rappres. i numeri tra -10308 e -10-308 10-308 e 10308
Numeri in quadrupla precisione 128 bit
112 per la mantissa il primo con segno
15 per l’esponente
Informatica - Ingegneria Medica -2013 - Franco Del Bolgia Slide 53 of 55_
esempio
52,6975 0,526875 x 10D2
110100,1011 x 10B0 convertito in binario
shift della virgola calcolo dell’esponente 0,1101001011 x 10B
0110 26 = 64
riconversione in decimale
0,8232422D x 64D = 52,6975
0 11010010110000000 0 0000110
S mantissa S Esponente
Informatica - Ingegneria Medica -2013 - Franco Del Bolgia Slide 54 of 55_
Esempio di somma in virgola mobile
Supponiamo di voler sommare i valori 5,5 e 2,625 = 8,125
5,5 2,625
101,1 * 20
4+0+1+0,5
10,101*20
2+0+0,5+0+0,125
0,1011 * 23 0,10101*22
0,1011 * 23 0,010101*23
Risultato binario 1,000001*23
Risultato 0,5078125 * 16 = 8,125
0,1000001*24
2-1 + 2-7 _
(0,5 + 0,0078125)*16
A sei bit di mantissa
0,5 *16= 8
0,100000*24
(0,5)*16
0,101100
0,010101
1,000001
somma
Informatica - Ingegneria Medica -2013 - Franco Del Bolgia Slide 55 of 55_
Moltiplicare o dividere per la base
In base 10 moltiplicare per 10 equivale ad effettuare lo spostamento di tutte le
cifre di una posizione verso sinistra mentre dividere equivale a uno
spostamento verso destra
base 10 con 5 cifre
cifra 4 cifra 3 cifra 2 cifra 1 cifra 0
0 4 7 2 3
4 7 2 3 0 x 10
0 4 7 2 3 / 10
7 2 3 0 0 x 100 Errore Overflow
0 0 7 2 3 / 100
base 2 con 5 cifre
0 1 0 1 1
1 0 1 1 0 x 2
0 1 0 1 1 / 2
0 1 1 0 0 x 4 Errore Overflow
0 0 0 1 1 / 4
In base 2 vale la stessa regola quando si moltiplica o divide per potenze di 2
Università degli Studi di Roma – Tor Vergata
Facoltà di Ingegneria – Corso di Laurea in Ingegneria Medica
Fine Lezione 3