Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Fondamenti di Informatica
Pg. 1 di 23
----------------------------------------------------------------------------------------------
INDICE
1.
2.
3.
Fondamenti di Informatica
Pg. 2 di 23
----------------------------------------------------------------------------------------------
1.
1.1
[1]
Fondamenti di Informatica
Pg. 3 di 23
----------------------------------------------------------------------------------------------
+ 2*103
+ 7*102
+ 0*101
+ 6*100
Analogamente, il valore V(N) del numero decimale frazionario 3.4709 dato da:
3*100
+ 4*10-1
+ 7*10-2
+ 9*10-4
+ 22
+ 1 + 2-2
+ 2-3
+ 2*82
+ 7*8
+ 13*16
+ 2 + 10*16-1
= 61440+3584+208+2 =
Per specificare in quale base rappresentato un numero si scrive (N) . Nei casi precedenti si
scriver
b
quindi (3.4709)10 , (10101.011) 2 , (3271) 8 , (FED2.A) 16 . Nel caso dei numeri esadecimali
si
scrive spesso FED2.Ah oppure (FED2.A)hex.
Si fa notare che tutti i numeri trattati sinora sono numeri assoluti, vale a dire senza segno. Il
problema della rappresentazione dei numeri con segno sar esaminato pi avanti, nel solo caso dei
numeri binari.
Come nel sistema metrico decimale, anche nella terminologia informatica sono stati introdotti dei
simboli per rappresentare multipli delle grandezze fondamentali, derivati direttamente da quelli in
base 10. Tuttavia il loro valore leggermente diverso, in quanto calcolato in base 2, come mostra
la tabella seguente.
Fondamenti di Informatica
Pg. 4 di 23
----------------------------------------------------------------------------------------------
Multiplo
Kilo
Mega
Giga
Tera
Peta
1.2
Sigla
K
M
G
T
P
2 10
2 20
2 30
2 40
2 50
=
=
=
=
=
Valore
1024
1024 2 = 1024K = 1048576
1024 3 = 1024M = 1073741824
1024 4 = 1024G
1024 5 = 1024T
Approssimazione
10 3
10 6
10 9
10 12
10 15
Conoscere la tecnica e le problematiche della conversione utile per capire alcuni fenomeni che
possono accadere anche nelluso quotidiano. Un esempio vale per spiegare quanto detto:
sommando 10 volt 0.1 non si ottiene 1 ma 0.9999999.., in quanto il numero (0.1) 10
in binario
non rappresentabile esattamente ma necessariamente rappresentato con approssimazione, come
somma di potenze di 2 con esponente negativo via via crescente in valore assoluto.
Ci significa che occorre inevitabilmente porsi il problema dellapprossimazione con cui si vuole
rappresentare un numero in una base assegnata, nel caso in cui la rappresentazione non possa essere
esatta o non si voglia sia esatta. Il problema dellapprossimazione verr trattato pi avanti.
1.2.1 Conversione da base b a base 10
Con numeri interi
Da binario a decimale
(1101) 2 = 23 + 22 + 1 = (13) 10
Da ottale a decimale
(167) 8 = 82 + 6*82 + 7 = (119) 10
Da esadecimale a decimale
1A0FE h = 164 + 10*163 + 15*16 + 14 = (106750) 10
Con numeri frazionari
Da binario a decimale
(0.001) 2 = 2 -3 = (0.125) 10
Da ottale a decimale
(0.125) 8 = 8-1 + 2*8-2 + 5*8-3 = (0.125) 10 + (0.03125) 10 + (0.009765)10 =
= (0.166) 10
Da esadecimale a decimale
F0.CA h = 15*16 + 12*16-1 + 12*16-2 = 240+0.75+0.03906 = (240.78906) 10
In alternative allapplicazione della formula [1] si pu ricorrere alla moltiplicazione ricorsiva delle
cifre per la base, esprimendo il numero come:
((..(((a n-1 )b + a n-2
)b + a n-3
)..)b + a 1 )b + a 0
Fondamenti di Informatica
Pg. 5 di 23
----------------------------------------------------------------------------------------------
Si calcola pertanto:
Da binario a decimale
(1101) 2 = ((1*2 +1)2 + 0)2 +1 = (13) 10
Da ottale a decimale
(0.125) 8 = ((5/8)+2)/8+1)/8 = (0.1660156..) 10
Da esadecimale a decimale
0.A h = 10/16 = (0.625) 10
Si noti che nel caso di numeri frazionari i prodotti diventano divisioni per la base, partendo dalla
cifra meno significativa (la prima cifra frazionaria, a partire da destra).
Si pu anche trasformare il numero frazionario in intero moltiplicando per bk e alla fine dividendo
per b exp (k), essendo k pari al numero di cifre frazionarie. Ad esempio:
(0.10101) 2 = 10101 / 25 = (0.65625) 10
1.2.2 Conversione da base 10 a base b
Metodo delle divisioni successive per b
La formula [1] pu essere riscritta nel seguente modo:
[V(N)] int / b =
+ . + a 2 b+ a 1
[3]
a -1 b 0
+ a -2
b -1
+ . + a m-1
b -m + a -m b m+1]
Q0 * b
Q1 * b
+ a0
+ a1
Qn-2 * b + an-2
0* b + an-1
(an-1 = 1)
Fondamenti di Informatica
Pg. 6 di 23
----------------------------------------------------------------------------------------------
= a-1 + X-1
= a-2 + X-2
=
a-k + X-k
Esempi:
Da binario a decimale:
Convertire il numero decimale 78 nel corrispondente binario
Dividendo
|
divisore
(N, Q k ) |
----------------- | --------------N = 78
|
2
Q0 = 39
|
2
Q1 = 19
|
2
Q2 = 9
|
2
Q3 = 4
|
2
Q4= 2
|
2
Q5 = 1
|
2
| quoziente
|
Q k+1
| --------------|
Q0 = 39
|
Q1 = 19
|
Q2 = 9
|
Q3 = 4
|
Q4 = 2
|
Q5 = 1
|
0
| resto
|
| --------|
0
|
1
|
1
|
1
|
0
|
0
|
1
1 0 0 1 1 1 0
| p. intera
|
| ----- 0. 0 0 0 1 1 0 0 1 1 0 0 1 1
|
0
| 0
| 0
|
1
| 1
| 0
| 0
|
1
| 1
| 0
| 0
|
1
|
1
Fondamenti di Informatica
Pg. 7 di 23
----------------------------------------------------------------------------------------------
Si nota che il numero binario corrispondente al decimale 0.1 non razionale ed periodico.
Si tronca alla cifra di peso 2-12 e quindi il numero espresso con una incertezza assoluta di
2-12 cio a 1 / 4096 0.000244. La precisione percentuale va invece rapportata al valore del
numero e quindi risulta di 0.00244, cio del 0.244 %.
Si noti ancora che se, anzich effettuare il troncamento, si intende effettuare larrotondamento, ad
es. al 12 mo bit, occorre eseguire il calcolo sino al 14 mo bit (2 bit in pi), ottenendo:
(0.1) 10
= (0.00011001100110) 2
(0.000110011010 ) 2
Fondamenti di Informatica
Pg. 8 di 23
----------------------------------------------------------------------------------------------
10000
0
2
7
9
1000
0
7
1
8
100
0
2
5
7
10
1
0
4
5
1
0
9
4
3
Fondamenti di Informatica
Pg. 9 di 23
----------------------------------------------------------------------------------------------
In binario:
Pesi
(256)
Riporto
0
A
B
S
128
1
0
0
1
64
1
1
1
1
32
1
0
1
0
16
1
1
0
0
8
1
1
0
0
In ottale:
Pesi
(8exp5)
Riporto
0
A
B
S
8exp4
1
2
0
3
8exp3
0
7
6
6
64
0
2
5
7
8
1
0
4
5
1
0
6
4
0
In esadecimale:
Pesi
(16exp4)
Riporto
0
A
B
S
16exp3
0
2
7
9
16exp2
1
A
1
C
16
1
2
F
2
4
1
1
1
1
2
1
1
1
1
1
0
0
1
1
1
0
C
F
B
Si noti che il riporto diverso da 0 sullultima colonna indica che per contenere il risultato occorre
disporre di una cifra in pi rispetto a quelle necessarie per rappresentare gli addendi A e B.
1.2.4 Aritmetica finita degli interi
Nelleseguire le operazioni aritmetiche manualmente non siamo abituati a porci in problema di
quante cifre (decimali) utilizzare, in quanto solitamente ne utilizziamo quanto basta.
Nei calcolatori, che generalmente operano in binario, il problema invece importante, in quanto
essi operano con un numero prefissato e non mutabile di cifre bonarie che vengono denominate bit
(Contrazione del termine inglese Binary Digit), al quale si da il significato pi generale di unit di
informazione (binaria).
Avendo ad esempio a disposizione 4 cifre decimali, si possono rappresentare tutti i numeri da 0 a
9999.
Per ujn totale di 10 exp(4) = 10000 numeri. Con 8 cifre decimali si rappresentano i numeri da 0 a
99999999, per un totale di 10 exp (8) numeri.
Formalmente, operando in base b, con k cifre si rappresentano tutti i numeri da
0 a (b-1) (b-1) (b-1) .. (b-1)
in cui la cifra (b-1) ripetuta k volte.
Fondamenti di Informatica
Pg. 10 di 23
----------------------------------------------------------------------------------------------
Inversamente, il numero massimo N max rappresentabile con n cifre in base b espresso da:
n-1
Nmax = (b-1)) bi = bn - 1
i=0
[4]
log b (N + 1)
avendo il secondo membro in significato di primo intero superiore (detto anche ceiling).
Se, ad esempio si vuol sapere quanti bit sono necessari per rappresentare in binario il numero
999999999, si calcola:
n =
Occorre tenere presente che nelleseguire operazioni aritmetiche, come ad esempio la somma,
operando su numeri rappresentati su n bit, non tutti i risultati possibili della somma possono essere
rappresentati con n bit. Non potendo essere aumentato il numero di bit, occorre pertanto prendere in
considerazione il problema cosiddetto di OVERFLOW, cio di segnalare quando il risultato,
rappresentato su n bit non corretto.
Fondamenti di Informatica
Pg. 11 di 23
----------------------------------------------------------------------------------------------
Nelle operazioni tra numeri senza segno, loverflow segnalato semplicemente dal esistenza di
riporto diverso da 0 generato elaborando lultima colonna.
Ad esempio, nella somma in binario:
Pesi
Riporto
A
B
S
(256)
1
128
1
0
1
0
64
1
1
1
1
32
1
0
1
0
16
1
1
0
0
8
1
1
0
0
4
1
1
1
1
2
1
1
1
1
1
0
0
1
1
esiste Overflow, poich il riporto R 8 vale 1. Ci significa che, per rappresentare correttamente il
risultato occorrerebbe utilizzare un bit in pi, il nono.
Pu essere utile pensare che, detto n il numero di bit su cui si opera, superando di una unit il valore
massimo 2n -1 rappresentabile con n bit, si torna al valore 0; superandolo di k unit, con k 2n -1, si
ritorna al valore k 1.
Nel caso dellesempio, n=8, 2exp(n) -1 = 255. Il risultato della somma A+B espresso in decimale
vale 327, che supera di k = 72 il valore limite 255, per cui il risultato (errato) rappresentato su 8 bit,
espresso in decimale, risulta pari a k-1 = 71.
Fondamenti di Informatica
Pg. 12 di 23
----------------------------------------------------------------------------------------------
2.
Nella rappresentazione in M&S con n bit, tenuto conto che il pi significativo viene sacrificato per
il segno, si possono rappresentare tutti i numeri N tali che:
- (2 n-1 -1)
N 2 n-1 -1
Ad esempio, nel caso n=8, si possono rappresentare tutti i numeri tra -127 e + 127.
Si osserva che nella notazione in M&S lo zero viene rappresentato doppiamente, sia come +0
(000000000), che come -0 (100000000).
Pertanto i numeri rappresentabili con n bit sono solo 2n 1, anzich 2n a causa della doppia
rappresentazione dello 0.
2.2
LA RAPPRESENTAZIONE IN COMPLEMENTO ALLA BASE DIMINUITA
Dato un numero Nb , la sua rappresentazione con n cifre in questa notazione :
CaBd(Nb ) = b n N - 1
Ad esempio, in base 10, con n = 4, N = 23, risulta CaBd(23) = 10 4 23 -1 = 9976
Fondamenti di Informatica
Pg. 13 di 23
----------------------------------------------------------------------------------------------
2.2.1 Il complemento a 1
In binario, il CaBd(N2) si chiama complemento a 1 (CA1). Utilizzando n bit, si ha:
CA1(N2 ) = 2 n N - 1
[5]
N 2 n-1 -1
Non viene tuttavia risolto il problema della doppia rappresentazione dello 0, gi posto in evidenza
discutendo la rappresentazione M&S. In questo caso lo zero rappresentato sia con 00000., che
con 11111.
Nel caso di 8 bit, si ha la seguente tabella di corrispondenza CA1 - decimale
CA1
1000 0000
1000 0001
1000 0010
1000 0011
Decimale
- 127
- 126
- 125
- 124
1111 1100
1111 1101
1111 1110
1111 1111
0000 0000
0000 0001
0000 0010
0000 0011
3
2
1
0
0
1
2
3
0111 1100
0111 1101
0111 1110
0111 1111
124
125
126
127
Si pu riconoscere se un numero negativo o positivo a seconda che sia a n-1 = 0, oppure a n-1 =
1, rispettivamente.
Fondamenti di Informatica
Pg. 14 di 23
----------------------------------------------------------------------------------------------
2.3
LA RAPPRESENTAZIONE IN COMPLEMENTO ALLA BASE
Dato un numero Nb , la sua rappresentazione con n cifre in questa notazione :
CaB(Nb ) = b n N
Ad esempio, in base 10, con n = 4, N = 23, risulta CaB(23) = 10 4 23 = 9977
2.3.1 Il complemento a 2
In binario, il CaB(N2) si chiama complemento a 2 (CA2). Utilizzando n bit, si ha:
CA2(N2 ) = 2 n N
[6]
[7]
Fondamenti di Informatica
Pg. 15 di 23
----------------------------------------------------------------------------------------------
Si noti che la rappresentazione in CA2 risolve il problema della doppia rappresentazione dello 0 e i
numeri N rappresentabili in tale notazione sono tali che:
- (2 n-1)
N 2 n-1 -1
[7]
Decimale
- 127
- 126
- 125
- 124
1111 1101
1111 1110
1111 1111
0000 0000
0000 0001
0000 0010
0000 0011
- 3
- 2
- 1
0
1
2
3
0111 1100
0111 1101
0111 1110
0111 1111
124
125
126
127
2.4
LA RAPPRESENTAZIONE ECCESSO M (NOTAZIONE POLARIZZATA)
Dato un numero Nb , la sua rappresentazione con n cifre in questa notazione :
EM(Nb ) = N + M
Ad esempio se b=2, n =8, M=127, N=-3, si ha EM(N2 ) = -3+127 = 124 = (01111100) 2
M prende il nome di Polarizzazione o Bias
Si vedr pi avanti che questa notazione utilizzata per la rappresentazione dellesponente nel
sistema di rappresentazione in virgola mobile.
2.5
LE OPERAZIONI ARITMETICHE CON NUMERI RELATIVI
Le tecniche con cui opportuno eseguire le operazioni di somma e sottrazione sono diverse, a
seconda del modo di rappresentazione.
Si esamineranno i quattro casi precedenti di rappresentazione, limitatamente ai numeri binari.
Fondamenti di Informatica
Pg. 16 di 23
----------------------------------------------------------------------------------------------
(256)
1
128
1
0
1
0
64
1
1
0
0
32
1
1
0
0
16
1
1
1
1
8
1
0
1
0
4
1
0
1
0
2
1
1
1
1
1
0
1
1
0
(256)
128
0
1
0
64
0
1
0
1
32
1
1
0
0
16
1
1
1
1
8
1
0
1
0
4
0
0
1
1
2
0
1
1
0
1
0
1
1
0
Poich lesecuzione della sottrazione si basa su un algoritmo diverso da quello della somma, non
sembra opportuno operare in questo modo, dato che il costo per la sua implementazione a livello
circuitale raddoppierebbe quasi il costo per limplementazione dellalgoritmo di somma.
2.5.2 Numeri rappresentati in complemento a 1
Poich questa notazione non elimina la doppia rappresentazione dello 0 che costringerebbe ad
effettuare delle correzioni, si tralascia di illustrare questo argomento.
2.5.3 Numeri rappresentati in complemento a 2
La rappresentazione in CA2 la pi adatta allesecuzione delle operazioni aritmetiche in quanto il
bit del segno pu essere trattato alla stessa stregua degli altri bit, restando solo il problema della
valutazione dellOverflow. Eseguendo la somma di A = 115 con B = - 97, ottiene il risultato
corretto + 18, come mostra la tabella
Pesi
Riporto
A
B
S
(256)
1
128
1
0
1
0
64
1
1
0
0
32
1
1
0
0
16
1
1
1
1
8
1
0
1
0
4
1
0
1
0
2
1
1
1
1
1
0
1
1
0
Si noti che per conoscere il valore assoluto di B, essendo B negativo, occorre valutare | B | = 256
31 - 128 = 97
Fondamenti di Informatica
Pg. 17 di 23
----------------------------------------------------------------------------------------------
S pu dimostrare che:
La presenza di Overflow rivelata da Rn-1 Rn, cio dal fatto che il riporto sullultima colonna e
quello generato elaborando lultima colonna siano diversi.
In particolare se Rn-1 = 0 e Rn = 1 il risultato sfora dalla parte dei numeri negativi
Se invece Rn-1 = 1 e Rn = 0 il risultato sfora dalla parte dei numeri positivi.
Ad esempio, nel caso:
Pesi
Riporto
A
B
S
(256)
1
128
0
1
1
0
64
1
0
0
1
32
1
1
0
0
16
1
1
1
1
8
1
0
1
0
4
1
0
1
0
2
1
1
1
1
1
0
1
1
0
Si ha overflow, con sforamento (R7 =0, R8=1) verso il basso. Infatti correttamente risulta A = - 77,
B = - 97, S = -174, mentre il risultato ottenuto darebbe un valore della somma (errato) di 82, che
altro non che il complemento a 256 del modulo del risultato corretto. Per rappresentare il risultato
corretto occorrerebbe un nono bit. Infatti aggiungendo il riporto R8 = 1 come nono bit, si ottiene
appunto il risultato corretto 174.
Fondamenti di Informatica
Pg. 18 di 23
----------------------------------------------------------------------------------------------
(256)
0
128
1
0
0
1
64
1
1
1
1
32
1
1
0
0
16
1
1
1
1
8
1
0
1
0
4
1
0
1
0
2
1
1
1
1
1
0
1
1
0
Si ha overflow, con sforamento (R7 =1, R8=0) verso lalto. Infatti correttamente risulta A = 115, B
= 95, S = 210, mentre il risultato ottenuto darebbe un valore della somma (errato) di - 46, il cui
modulo, altro non che il complemento a 256 del modulo del risultato corretto. Per rappresentare il
risultato corretto occorrerebbe un nono bit. Infatti aggiungendo il riporto R8 = 0 come nono bit, si
ottiene appunto il risultato corretto 210.
2.5.4 La complementazione a 2 di un numero rappresentato in CA2
Eseguire la complementazione a 2 di un numero relativo assegnato corrisponde al cambiamento di
segno.
Ricordando che
CA2(N2 ) = 2 n N
si deduce la seguente:
Regola 1 per la complementazione a 2:
Detto N il corrispondente decimale del numero binario rappresentato in Ca2
Calcolo il valore di 2n - N
Trasformo in binario tale valore
Ad esempio, considerando il numero (01011100) 2 , si valuta N = 92, 256 92 = 164 e quindi:
-(N) 2 = (10100100) 2
Considerando invece il numero (11011100) 2 , si valuta N = 220 = 256 - 220 = 36 e quindi:
-(N) 2 = (00100100) 2
Ricordando invece che:
CA2(N2 ) = CA1(N2 ) + 1
si deduce la seguente:
Regola 2 per la complementazione a 2:
Si complementa a 1 il numero binario
Si somma a questo in binario il numero decimale 1
Nei due casi precedenti si ottiene:
Partendo dal numero (01011100) 2 , il suo Ca1 risulta (10100011) 2
Sommando 1 si ottiene:
11
10100011
+
00000001
=
-------------------------------10100100
Fondamenti di Informatica
Pg. 19 di 23
----------------------------------------------------------------------------------------------
(256)
0
128
1
0
0
1
64
1
1
1
1
32
1
1
0
0
16
1
1
1
1
8
1
0
1
0
4
1
0
1
0
2
1
1
1
1
Si osservi che in tal caso esiste Overflow e quindi il risultato non corretto.
Infatti risulta A = 115, B = -95 e quindi A B = 210, con sforamento dalla parte alta
Lo stesso risultato ottenuto ora pu essere ottenuto ricordando che
CA2(N2 ) = CA1(N2 ) + 1
1
0
1
1
0
Fondamenti di Informatica
Pg. 20 di 23
----------------------------------------------------------------------------------------------
E pertanto che:
(256)
0
128
1
0
0
1
64
1
1
1
1
32
1
1
0
0
16
1
1
1
1
8
1
0
1
0
4
1
0
1
0
2
1
1
1
1
1
1
1
0
0
Fondamenti di Informatica
Pg. 21 di 23
----------------------------------------------------------------------------------------------
3.
La rappresentazione in Ca2 di numeri relativi, in cui la posizione della virgola fissa si chiama
appunto rappresentazione in virgola fissa. Tale rappresentazione non adatta a rappresentare
numeri che calcolo scientifico e finanziario richiedono variare in un range estremamente vasto.
Basti pensare che per eseguire calcoli finanziari in Euro occorre prevedere numeri che vanno dal
0.01 sino ad almeno 10 exp (12). Ci significa che per i corrispondenti numeri binari occorre
prevedere un certo numero di bit per la parte frazionaria e almeno 41 bit per la parte intera
Per i calcoli scientifici la situazione ancora pi pesante.
Ne deriva la necessit di utilizzare un nuovo sistema di rappresentazione denominato IN
VIRGOLA MOBILE o anche ESPONENZIALE.
Il concetto a cui si ispira il seguente:
Rappresentare il numero come prodotto di una parte intera, chiamata MANTISSA, per
una base (chiamata RADICE) elevata ad un ESPONENTE.
Tale notazione consente di scrivere numeri molto gran di o molto piccoli in poco spazio.
Ad esempio:
il numero decimale 349 000 000 000 si scrive
3.49*10 exp (11) oppure 0.349*10 exp (12)
il numero decimale 0.000 000 002 si scrive
2.0*10 exp (-9) oppure 0.2*10 exp (-8)
Aumentando il numero di bit significativi aumenta la precisione nella rappresentazione del numero
Inoltre, nei calcoli, solo le cifre meno significative vengono perse. Ad esempio, per rappresentare il
risultato delloperazione seguente su 12 cifre:
999 999 999 999
2
1000 000 000 001
overflow
+
=
opportuno passare alla notazione esponenziale e scrivere 1 * 10 exp(12), perdendo cos solo il bit
meno significativo. Si utilizzano cos solo 5 bit, uno per la mantissa e 4 per lesponente, ipotizzando
di sottointendere la base 10.
Chiunque abbia usato una calcolatrice per eseguire il quadrato del numero decimale 123456789,
avr ottenuto il risultato nella forma 1.5242443E16, in cui sta ad indicare la base 10.
In pratica, per la rappresentazione esponenziale si assegna
1 bit per il segno del numero
un numero sufficiente di bit (ad es 23) per la manitissa
un numero pi limitato (ad es 8) per lesponente
Per lesponente, poi si utilizza una rappresentazione del tipo eccesso M (v. capitolo precedente), ad
esempio con M = 127 (o pi raramente 128).
Fondamenti di Informatica
Pg. 22 di 23
----------------------------------------------------------------------------------------------
E
11
E
15
E
8
M
23
M
52
M
112
corrispondenti ai tre gradi di precisione, semplice, doppia, quadrupla ed impieganti 32, 64, 128 bit,
rispettivamente.
In formula il numero X espresso nel seguente modo:
X = -1S * 2 (E B) * 1.F
Dove:
S=
segno per la mantissa (0 = positivo; 1 = negativo)
E = esponente espresso come eccesso B (detto bias = polarizzazione)
F=
mantissa frazionaria, normalizzata, assegnando allesponente un valore tale che la mantissa
sia espressa come 1. .., e quindi compresa tra 1.0000 e 1.1111..
Come si vede, per la rappresentazione della mantissa stata scelta la rappresentazione in M&S.
Per lesponente stata adotata la rappresentazione eccesso B.
Si voglia ad esempio rappresentare il numero decimale N = 42.6875.
Adottando lo standard che prevede lutilizzo di 32 bit si ha:
N = 42.687510 = 101010.10112 = 1.010101011 * 25
e pertanto:
S
=
E
=
M
=
0
(1 bit)
5 + B = 132 = 10000100
(8 bit)
01010101100000000000000 (23 bit)
0
5 + B = 1028 = 10000000100
(1 bit)
(11 bit)
Fondamenti di Informatica
Pg. 23 di 23
----------------------------------------------------------------------------------------------
0
5 + B = 16388 = 100000000000100
0101010110000000000000000000000000000000000000000000..0
(1 bit)
(15 bit)
(112 bit)
Anche in questi casi, pur essendo molti i bit utilizzabili par la rappresentazione, occorre affrontare il
problema della precisione.
Se il numero da rappresentare fosse ad esempio N = 42.687610 , di appena un decimillesimo
(0.0001) 10 superiore al precedente, la parte frazionaria 0.1011 rappresenterebbe il numero 0.6876
con una certa approssimazione. Lincertezza assoluta nel troncamento di 2 exp (-4) = 1/16 =
0.0625, mentre lerrore percentuale pari a 0.0625 / 42.6876 = 0.0015 = 0.15 %.
Utilizzando invece tutti i 23 bit della mantissa si ottiene:
N = 42.687610 = 101010.1011000000000110102 = 1.01010101100000000011010 * 25
e pertanto:
S
=
E
=
M
=
0
(1 bit)
5 + B = 132 = 10000100
(8 bit)
01010101100000000011010 (23 bit)