Top Banner
Richiami su alcuni aspetti della rappresentazione dei numeri nei sistemi di elaborazione e di calcolo automatico. Paolo Lepora Dipartimento di Matematica, Politecnico di Torino Politecnico di Torino, Dipartimento di Matematica, Stampato : 15 maggio 2002
69

DISMA Dipartimento di Scienze Matematiche "Giuseppe Luigi ...calvino.polito.it/~lepora/pl.pdfIndice 1 I RAPPRESENTAZIONE DEI NUMERI 1 1.1 Introduzione . . . . . . . . . . . . . . .

Oct 17, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: DISMA Dipartimento di Scienze Matematiche "Giuseppe Luigi ...calvino.polito.it/~lepora/pl.pdfIndice 1 I RAPPRESENTAZIONE DEI NUMERI 1 1.1 Introduzione . . . . . . . . . . . . . . .

Richiami su alcuni aspetti dellarappresentazione dei numeri neisistemi di elaborazione e di calcoloautomatico.

Paolo Lepora

Dipartimento di Matematica, Politecnico di Torino

Politecnico di Torino,

Dipartimento di Matematica,

Stampato : 15 maggio 2002

Page 2: DISMA Dipartimento di Scienze Matematiche "Giuseppe Luigi ...calvino.polito.it/~lepora/pl.pdfIndice 1 I RAPPRESENTAZIONE DEI NUMERI 1 1.1 Introduzione . . . . . . . . . . . . . . .

Indice

1 I RAPPRESENTAZIONE DEI NUMERI 1

1.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.1.1 cenni storici . . . . . . . . . . . . . . . . . . . . . . . . 1

1.2 Rappresentazione non Posizionale . . . . . . . . . . . . . . . 3

1.3 Rappresentabilita di un numero . . . . . . . . . . . . . . . . . 5

1.3.1 valore r della radice di N . . . . . . . . . . . . . . . 5

1.3.2 Rappresentabilia dei numeri, Rappresentazione dei nu-meri . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

1.3.3 Algoritmo della divisione . . . . . . . . . . . . . . . . 6

1.3.4 Cifre necessarie per un numero . . . . . . . . . . . . . 11

1.4 I numeri frazionari . . . . . . . . . . . . . . . . . . . . . . . . 14

2 Conversioni di Base 15

2.1 conversione alla base 10 . . . . . . . . . . . . . . . . . . . . 15

2.2 schema di Horner . . . . . . . . . . . . . . . . . . . . . . . . . 16

2.2.1 Conversione della parte frazionaria . . . . . . . . . . . 17

2.3 Conversione dalla BASE 10 . . . . . . . . . . . . . . . . . . 18

2.3.1 conversione della parte frazionaria . . . . . . . . . . . 19

2.3.2 osservazioni . . . . . . . . . . . . . . . . . . . . . . . . 20

2.4 Conversioni da base r a rk con k intero positivo . . . . . . . . 22

2.5 numeri con Segno . . . . . . . . . . . . . . . . . . . . . . . . . 24

2.5.1 Modulo e segno . . . . . . . . . . . . . . . . . . . . . . 24

2.5.2 Complemento alla base diminuita . . . . . . . . . . . . 25

2.5.3 Rappresentazione in complemento alla base . . . . . . 27

2.5.4 Algoritmi per complementazione . . . . . . . . . . . . 29

2.5.5 Intervallo di rappresentazione . . . . . . . . . . . . . . 30

2.5.6 Raffronto tra i vari metodi (per la base 2) . . . . . . . 31

i

Page 3: DISMA Dipartimento di Scienze Matematiche "Giuseppe Luigi ...calvino.polito.it/~lepora/pl.pdfIndice 1 I RAPPRESENTAZIONE DEI NUMERI 1 1.1 Introduzione . . . . . . . . . . . . . . .

ii INDICE

3 Aritmetica FRAZIONARIA 333.1 Virgola Fissa . . . . . . . . . . . . . . . . . . . . . . . . . . . 333.2 Virgola mobile . . . . . . . . . . . . . . . . . . . . . . . . . . 34

3.2.1 Mantissa normalizzata . . . . . . . . . . . . . . . . . . 363.2.2 tattamento del segno . . . . . . . . . . . . . . . . . . . 36

3.3 Intervalli di rappresentazione . . . . . . . . . . . . . . . . . . 363.4 ε macchina . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

3.4.1 calcolo teorico di ε macchina . . . . . . . . . . . . . . 403.4.2 Algoritmo per ricavare ε . . . . . . . . . . . . . . . . . 41

3.5 Parametri in un sistema Virgola mobile . . . . . . . . . . . . 423.5.1 polarizzazione . . . . . . . . . . . . . . . . . . . . . . . 433.5.2 Hidden bit . . . . . . . . . . . . . . . . . . . . . . . . 443.5.3 La rappresentazione dello zero . . . . . . . . . . . . . 453.5.4 Segno del numero . . . . . . . . . . . . . . . . . . . . . 453.5.5 Valori attribuiti ai parametri . . . . . . . . . . . . . . 45

Page 4: DISMA Dipartimento di Scienze Matematiche "Giuseppe Luigi ...calvino.polito.it/~lepora/pl.pdfIndice 1 I RAPPRESENTAZIONE DEI NUMERI 1 1.1 Introduzione . . . . . . . . . . . . . . .

Capitolo 1

I RAPPRESENTAZIONE

DEI NUMERI

RAPPRESENTAZIONE DEI NUMERI

1.1 Introduzione

1.1.1 cenni storici

Il concetto di numero, per sua natura primitivo ed astratto, viene usualmentepercepito come raggruppamento di entita sensibili: gli oggetti materiali, isegni, le voci del linguaggio. Le regole, le leggi, le tecniche della numerazione,mostrano, nella loro origine uno straordinario grado di universalita che ciconsente di vedere come l’atto stesso del numerare sia uno degli attributicaratteristici e fondanti del pensiero umano.

La notazione di numero intero risale ad una epoca certamente preis-torica. Essa fu collegata inizialmente alla definizione di classi di oggettiindivisibili

• Persone in un gruppo

• Pecore in un gregge

A ciascuna di queste classi, numeri, venne inizialmente attribuita unarappresentazione fonetica non tramandata e non pervenuta.

In seguito, con la nascita del linguaggio, venne attribuita una rappre-sentazione grafica. La nascita del linguaggio realizzava l’associazione traparola, segno e contenuto quantitativo dei numeri.

1

Page 5: DISMA Dipartimento di Scienze Matematiche "Giuseppe Luigi ...calvino.polito.it/~lepora/pl.pdfIndice 1 I RAPPRESENTAZIONE DEI NUMERI 1 1.1 Introduzione . . . . . . . . . . . . . . .

2 CAPITOLO 1. I RAPPRESENTAZIONE DEI NUMERI

Presso popoli diversi, in epoche diverse l’associazione

Parola - Segno - Contenuto Quantitativo

non fu quasi mai univoca: in lingue diverse, alla stessa entita ed allostesso contenuto quantitativo vennero associate parole e segni diversi.

Se ad uno stesso contenuto quantitativo posso associare nomi e segnidiversi e evidente che occorre distinguere tra le entita numeri e l’insieme deisimboli e dei nomi chiamati a rappresentarli.

La relazione tra un numero e la rappresentazione grafica e del tipouno a molti, la stessa relazione vale per numero e rappresentazionefonetica. Sulla base delle osservazioni appena fatte si noti inoltre che unnumero, nella usa forma scritta potra sempre essere rappresentato in al-meno due modi: il simbolo o l’insieme dei simboli grafici che lo individuanooppure dalla rappresentazione scritta che riporta fedelmente la rappresen-tazione fonetica. In questo ultimo caso, dei tre elementi numero , rapp-resentazione grafica e rappresentazione fonetica si potra prescinderedall’elemento rappresentazione grafica , riducendo a due gli elementi nec-essari. Questa soluzione, peraltro attraente dal punto di vista speculativo,si mostra essere assai scomoda allorquando si renda necessario esprimere informa scritta un insieme non piccolissimo di numeri e relazioni tra di essi.Cosı , ad esempio, operando in aritmetica decimale , la semplissima relazione:

1234 + 5678− 9876

diventerebbe sommare mille duecento trenta quattro a cinque milasei cento settanta otto e sottrarre nove mila otto cento settanta sei

Uno studio razionale della numerazione deve operare una distinzionetra numerazione strumentale, numerazione parlata e numerazionescritta. Poiche questo tipo di approfondimento esula dagli scopi di questenote ci soffermeremo unicamente su alcune semplici tecniche di numerazione.

Page 6: DISMA Dipartimento di Scienze Matematiche "Giuseppe Luigi ...calvino.polito.it/~lepora/pl.pdfIndice 1 I RAPPRESENTAZIONE DEI NUMERI 1 1.1 Introduzione . . . . . . . . . . . . . . .

1.2. RAPPRESENTAZIONE NON POSIZIONALE 3

1.2 Rappresentazione non Posizionale

La rappresentazione primitiva usa la tecnica della ripetizione del simbo-lo ideografico dell’oggetto. Questo tipo di rappresentazione non necessitaalcuna spiegazione ed e immediatamente capita in ogni cultura. Pur nonessendo efficente, essa viena ancora oggi usata. I punti sulle facce dei dadi, inumeri sulle tavolette del Domino, alcuni tipi di carte da gioco sono esempidi tali tecniche. Ai primordi della storia della grecia antica si trovano traccedi sistemi di numerazione che designavano i numeri con tanti tratti di lineeparallele. Un primo miglioramento si realizza con l’attribuzione di specialivalori numerici ad alcuni simboli. Cosı nella numerazione detta Romani siusano alcuni simboli ed alcune convenzioni

I, V, X, L, C, D, M

I 1II 2III 3IIII 4 IV

V 5V I 6V II 7V III 8V IIII 9 IX

X 10

Il rappresentare i primi dieci elementi con tecniche Romane o moderne,non appare come un sensibile miglioramento!

Un fondamentale miglioramento e dato dal passaggio da una numer-azione in cui il valore della entita numero non dipende dalla posizionead una numerazione in cui il valore dipende dalla posizione

Sia N un generico intero non negativo,Sia dn−1, dn−2, dn−3, ..., d2, d1, d0 l’insieme dei simboli grafici usati per la

rappresentazione.Potremo scrivere:

Page 7: DISMA Dipartimento di Scienze Matematiche "Giuseppe Luigi ...calvino.polito.it/~lepora/pl.pdfIndice 1 I RAPPRESENTAZIONE DEI NUMERI 1 1.1 Introduzione . . . . . . . . . . . . . . .

4 CAPITOLO 1. I RAPPRESENTAZIONE DEI NUMERI

N = dn−1dn−2dn−3...d2d1d0

Questa scrittura suggerisce la possibilita di pensare le singole cifre

dn−1, dn−2, ..., di, ...d0

come dipendenti dalla specifica posizione i occupata nella rappresen-tazione del numero N . Accettando questa ulteriore ipotesi si potra parlaredi:

N = dn−1dn−2dn−3...d2d1d0︸ ︷︷ ︸RAPPRESENTAZIONEPOSIZIONALE

E ovvio che dalla ultima ipotesi cui si e fatto cenno discende la necessitadi stabilire, per ogni posizione

i

un pesopi

.Il valore corrispondente alla rappresentazione

N = dn−1dn−r...d3d2d1d0

sara quindi dato dalla

N = dn−1 · pn−1 + dn−2 · pn−2 + ... + d3 · p3 + d2 · p2 + d1 · p1 + d0,

ovvero, utilizzando una presentazione piu compatta:

N =n−1∑

i=0

di · pi

La possibilita ora mostrata, ancorche molto potente, soffre, per cosı diredi un eccessivo numero di gradi di liberta. Si nota immediatamente che larappresentazione di uno stesso numero N , potrebbe essere fatta in infinitimodi diversi.

Si tratta quindi di limitare nel sistema usato il numero dei gradi diliberta. Se stabiliamo che i pesi pi , anziche essere arbitrariamente assegnatisiano dati dalla

pi = ri con i ∈ [0, n− 1]

Page 8: DISMA Dipartimento di Scienze Matematiche "Giuseppe Luigi ...calvino.polito.it/~lepora/pl.pdfIndice 1 I RAPPRESENTAZIONE DEI NUMERI 1 1.1 Introduzione . . . . . . . . . . . . . . .

1.3. RAPPRESENTABILITA DI UN NUMERO 5

allora, il valore corrispondente alla rappresentazione sara dato dalla

dn−1 · rn−1 + dn−r · rn−2 + ... + d3r3 + d2r

2 + d1r1 + d0r

0

questo sistema di definizione dei pesi e caratterizzato dall’elemento r , cheprende il nome di radice e dal valore dell’esponente attribuito alla radice r,preso pari alla posizione che la cifra che la cifra occupa nel numero.

1.3 Rappresentabilita di un numero

L’interesse per quanto visto sino ad ora ci spinge a porci alcune domande:

• Come posso scegliere il valore della radice?

• Una volta scelto il valore di radice, quali numeri posso rappresentare?

• Come faccio a determinare la rappresentazione cercata?

• La rappresentazione trovata, e unica?

Vedremo di dare risposta alle questioni sopra riportate procedendo nellostesso ordine :

1.3.1 valore r della radice di N

Il primo problema da affrontare e pertanto il seguente: Quali valori sasseg-nare ad r. Limitando le nostre considerazioni all’insieme dei numeri interi,si puo osservare che non sono emerse sino ad ora limmitazioni ai valori chesi possono assegnare ad r. E doveroso notare pero che

1. la scelta di un valore r = 0 non consente alcuna rappresentazione diN .

2. la scelta di un valore r = 1 riconduce ad un sistema di numerazionenon posizionale.

Sara pertanto opportuno evitare la scelta dei valori r = 0 e dei valorir = 1. Ragioni di opportunita ci consentiranno inseguito di suggerire unalimitazione superiore ai valori da attribuire ad r.

Page 9: DISMA Dipartimento di Scienze Matematiche "Giuseppe Luigi ...calvino.polito.it/~lepora/pl.pdfIndice 1 I RAPPRESENTAZIONE DEI NUMERI 1 1.1 Introduzione . . . . . . . . . . . . . . .

6 CAPITOLO 1. I RAPPRESENTAZIONE DEI NUMERI

1.3.2 Rappresentabilia dei numeri, Rappresentazione dei nu-

meri

Il secondo problema che affrontiamo ci permettera di rispondere in una, alleseguenti domande:

• Una volta scelto il valore di radice, quali numeri posso rappresentare?

• Come faccio a determinare la rappresentazione cercata?

• La rappresentazione trovata, e unica?

Dimostreremo che: Dato un intero N ed una radice r

• 1. E possibile rappresentare N come

N =n−1∑

i=0

dir1

2. La rappresentazione e unica ?

1.3.3 Algoritmo della divisione

Per la dimostrazione del teorema precedentemente enunciato dobbiamo ri-correre al seguente algoritmo, detto algoritmo della divisione.

Teorema 1 Siano m ed n due interi, sia inoltre

m ≥ 0 ed n > 0

Th) esistono e sono unici 2 interi

q con q ≥ 0

che chiameremo quoziente e

p con 0 ≤ p < n

che chiameremo resto, tali che

m = nq + p

Partiamo dalla successione 0, 1, 2, 3, 4... , ordinata e crescente :

0 < 1 < 2 < 3... s

Page 10: DISMA Dipartimento di Scienze Matematiche "Giuseppe Luigi ...calvino.polito.it/~lepora/pl.pdfIndice 1 I RAPPRESENTAZIONE DEI NUMERI 1 1.1 Introduzione . . . . . . . . . . . . . . .

1.3. RAPPRESENTABILITA DI UN NUMERO 7

notiamo che anche la successione

0 < n < 2n < 3n < 4n < 5n... s′

e ordinata e crescente. Poiche non sappiamo se m coincide con un elementodella s’, studieremo separatamente i due possibili casi

1. m coincide con un elemento della successione s’

2. m non coincide con un elemento di s’ ed e quindi compreso fra 2elementi della successione s’

nel 1◦ caso si avram = qn ⇒ p = 0 :

e pertantom− qn = 0 = p

nel 2◦ caso si avraqn < m < (q + 1)n

da cui, sottraendo il valore qn, si ottiene:

0 < m− qn < n

ponendo p = m− qn avro0 < p < n

infatti0 < m− qn = p < n

il che dimostra l’esistenza di p e q.Dimostreremo l’unicita ammettendo che esistano altri due interi q∗ e p∗

tali chem = q∗n + p∗

d’altra parte noi sappiamo che

m = qn + p

Inoltre, per ipotesi, deve essere

0 ≤ p < n e 0 ≤ p∗ < n

Page 11: DISMA Dipartimento di Scienze Matematiche "Giuseppe Luigi ...calvino.polito.it/~lepora/pl.pdfIndice 1 I RAPPRESENTAZIONE DEI NUMERI 1 1.1 Introduzione . . . . . . . . . . . . . . .

8 CAPITOLO 1. I RAPPRESENTAZIONE DEI NUMERI

e quindi0 ≤ p = m− qn < n

e0 ≤ p∗ = m− q∗n < n

e quindi ancoraqn ≤ m < (q + 1)n

eq∗n ≤ m < (q∗ + 1)n

Il che significa che m dovra cadere nell’intervallo qn . . . (q + 1)n e contem-poraneamente m dovra cadere nell’intervallo q∗n . . . (q∗ + 1)n

D’altra parte, m, che e unico, non puo cadere in 2 distinti intervalli dellasuccessione s’. Questa osservazione ci consente di concludere che dovranecessariamente essere q = q∗ ed essendo p = m−qn e p∗ = m−q∗n, anchep = p∗.

Possiamo ora procedere alla dimostrazione del teorema precedentementeannunciato.

Teorema 2 Dato un intero N ed una radice R > 1

1. E possibile individuare i coefficienti dn−1, dn−2...d1, d0 di un polinomioavente grado n tali che

N = dn−1 · rn−1 + dn−2 · rn−2 + ... + d1 · r + d0.

con la condizione 0 ≤ di < r i ∈ [0, n− 1]

2. I coefficienti dn−1, dn−2...d1, d0 sono unici

DIMOSTRAZIONE

Sulla scorta dei risultati del teorema precedente, Dividiamo N per R.Otterremo un quoziente N0 ed un resto d0, con N0 < N e 0 ≤ d0 < R.

Ripetendo l’operazione, otterremo

N = N0 ·R + d0

N0 = N1 ·R + d1

N1 = N2 ·R + d2

Page 12: DISMA Dipartimento di Scienze Matematiche "Giuseppe Luigi ...calvino.polito.it/~lepora/pl.pdfIndice 1 I RAPPRESENTAZIONE DEI NUMERI 1 1.1 Introduzione . . . . . . . . . . . . . . .

1.3. RAPPRESENTABILITA DI UN NUMERO 9

N2 = N3 ·R + d3

N3 = N4 ·R + d4

Sappiamo inoltre che N > N0 > N1 > N2 > . . . >. Gli interiN,N1, N − 2, . . . , Ni, . . . formano una successione di interi positivi,decrescenti. Esistera quindi un valore n tale che

Nn = 0 ·R + dn+1

A questo punto, procedendo a ritroso, con n sostituzioni otterremo:

N = d0 + RN1

N = d0 + R(d1 + RN2)

N = d0 + R(d1 + R(d2 + RN3))

N = d0 + R(d1 + R(d2 + R(d3 + R(d4 + ...

+... + R(dn−2 + R(dn−1 + 0))))))

N = d0 + d1 ·R + d2R2 + d3R

3 + ...+

+... + dn−2Rn−2dn−1 ·Rn−1

il che prova l’esistenza.

Proveremo l’unicit‘a nel modo seguente:

Ammettiamo che oltre ai coefficienti ora trovati,

d0, d1, d2...dn−1

esista un secondo insieme di coefficienti

d∗0, d∗1, d

∗2...d

∗n−1

Allora potremo scrivere:

N = d∗0 + Rd∗1 + d∗2R2 + d∗3R

3 + ... + d∗n−2Rn−2 + d∗n−1R

n−1

ma anche

N = d0 + Rd1 + d2R2 + d3R

3 + ... + dn−2Rn−2 + dn−1R

n−1

Page 13: DISMA Dipartimento di Scienze Matematiche "Giuseppe Luigi ...calvino.polito.it/~lepora/pl.pdfIndice 1 I RAPPRESENTAZIONE DEI NUMERI 1 1.1 Introduzione . . . . . . . . . . . . . . .

10 CAPITOLO 1. I RAPPRESENTAZIONE DEI NUMERI

Poiche i 2 polinomi hanno lo stesso grado1, sottraendo membro amembro avremo:

0 = (d∗0 − d0) + (d∗1 − d1)R + (d∗2 − d2)R2 + ...+

+... + (d∗n−2 − dn−2)Rn−2 + (d∗n−1 − dn−1)Rn−1)Rn−1

supponiamo ora che d∗0 − d0 = 0, d∗1 − d1 = 0...d∗k − dk = 0 per k ∈[0, j − 1] allora

−(d∗j − dj) = (d∗j+1 − dj+1)R + ... + (d∗n−1 − dn−1)Rn−1−j

e quindi, d∗j − dj =

= R[(d∗j+1 − dj+1) + ... + (d∗n−1 − dn−1)Rn−j−2

]

il che significa che d∗j−dj e divisibile esattamente per R e cioe, a menodel segno

|d∗j − dj | = q ·R conqintero

. Sara inoltre 0 ≤ d∗j < R e 0 ≤ dj < R e pertanto

|d∗j − dj | < R −R < d∗j − dj < R

e ancora−R < q ·R < R

Ma allora, avuto riguardo alle 2 relazioni soprariportare, ricordandoche q e intero, si deve concludere che l’unica possibilita e che q ≡ ∅Posso dunque affermare che d∗j = dj. Per completare la dimostrazionebastera ripetere il medesimo ragionamento per un qualunque j

1(non e restrittivo supporre che i 2 polinomi abbiano lo stesso grado n. Nel caso cio

non fosse vero,si procedera nel modo seguente: sia n∗ il grado del polinomio avente i coeff.

d∗0, d∗1, d

∗2...d

∗n∗−1

, sia n il grado del polinomio avente i coeff.

d0, d1, d2...dn−1

, sia inoltre n∗ < n. Sara sufficiente adeguare il polinomio col grado minore al grado del

polinomio di grado maggiore aggiungendo i coefficienti dn∗+1 = 0, dn∗+2 = 0, ..., dn−1 = 0

Page 14: DISMA Dipartimento di Scienze Matematiche "Giuseppe Luigi ...calvino.polito.it/~lepora/pl.pdfIndice 1 I RAPPRESENTAZIONE DEI NUMERI 1 1.1 Introduzione . . . . . . . . . . . . . . .

1.3. RAPPRESENTABILITA DI UN NUMERO 11

I teoremi precedenti garantiscono la possibilita di rappresentare un qual-siasi numero N intero, con un polinomio con radice R qualsiasi.

Le radici piu usate sono R = 10 , R = 2, R = 8, R = 16 Nel caso R = 10i simboli usati sono:

R = 10 di ∈ {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}

Nel caso R = 2 i simboli usati sono:

R = 2 di ∈ {0, 1}

Nel caso R = 8 i simboli usati sono:

R = 8 di ∈ {0, 1, 2, 3, 4, 5, 6, 7}

Nel caso R = 16 i simboli usati sono:

R = 16 di ∈ {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B,C, D, E, F}

1.3.4 Cifre necessarie per un numero

Determineremo ora il numero di cifre necessarie per rappresentare un numeroN in un sistema posizionalea base fissa R. Per raggiungere quasto scoporisolveremo inizialmente un problema leggermente diverso:

il massimo numero rappresentabile con n cifre.

il massimo numero rappresentabile con n cifre.

Teorema 3 Dato un sistema di rappresentazione con n cifre nella base R,

Th) Il massimo numero rappresentabile Nmax,n vale

Nmax,n = Rn − 1

Dimostrazione

Sia

N =n−1∑

i=0

diri

con0 ≤ di < r

Page 15: DISMA Dipartimento di Scienze Matematiche "Giuseppe Luigi ...calvino.polito.it/~lepora/pl.pdfIndice 1 I RAPPRESENTAZIONE DEI NUMERI 1 1.1 Introduzione . . . . . . . . . . . . . . .

12 CAPITOLO 1. I RAPPRESENTAZIONE DEI NUMERI

Il numero N assumera il massimo valore rappresentabile con n cifreallorquando le singole cifre di assumeranno ciascuna il massimo valorepossibile , e cioe quando

di ≡ di,max ∀i ∈ {0, 1, ..., n− 1}

ma per le ipotesi fatte,

di,max ≡ r − 1 ∀i ∈ {0, 1, ..., n− 1}

e pertanto, sostituendo,

Nmax,n =n−1∑

i=0

(r − 1)ri

N = (r − 1)rn−1 + (r − 1)rn−2 + ...++... + (r − 1)r2 + (r − 1) · r + r − 1 =

= rn − rn−1 + rn−1rn−2 + ... +−r2 + r2 − r + r − 1 == rn − 1

Il che ci permette di concludere che

Nmax,n = rn − 1

Numero di cifre necessarie per rappresentare N

La relazione precedentemente trovata, che mette in relazione il valore Nmax,n,massimo numero rappresentabile, coi valori n, numero di cifre dedicate allarappresentazione del numero e con R, valore della base di rappresentazioneadottata ci permette di risolvere il problema posto inizialmente.

Teorema 4 Sia dato il numero N , rappresentato nella base R.

Th) Il numero di cifre necessarie per rappresentare N e dato dalla seguenterelazione:

n = dlogr(N + 1)e

Dalla relazione ricavata nel precedente teorema,

Nmax,n = rn − 1

Page 16: DISMA Dipartimento di Scienze Matematiche "Giuseppe Luigi ...calvino.polito.it/~lepora/pl.pdfIndice 1 I RAPPRESENTAZIONE DEI NUMERI 1 1.1 Introduzione . . . . . . . . . . . . . . .

1.3. RAPPRESENTABILITA DI UN NUMERO 13

si ottiene, passando ai logaritmi:

n = logr(Nmax,n + 1)

se invece di n cifre, si userasero n − 1 cifre, avremmo dal teoremaprecedente:

Nmax,n−1 = rn−1 − 1 rn−1 = Nmax,n−1 + 1

e quindi

n− 1 = logr (Nmax,n−1 + 1)

Tutti i numeri compresi fra

Nmax,n−1 < N ≤ Nmax,n

sono rappresentabili con n cifre

rn−1 − 1 < N ≤ rn − 1

rn−1 < N + 1 ≤ rn

n− 1 < logr(N + 1) ≤ n

e quindin = dlogr(N + 1)e

avendo indicato con il simbolo d e il valore che si ottiene arrotondandoper eccesso all’intero superiore

Page 17: DISMA Dipartimento di Scienze Matematiche "Giuseppe Luigi ...calvino.polito.it/~lepora/pl.pdfIndice 1 I RAPPRESENTAZIONE DEI NUMERI 1 1.1 Introduzione . . . . . . . . . . . . . . .

14 CAPITOLO 1. I RAPPRESENTAZIONE DEI NUMERI

1.4 I numeri frazionari

NUMERI FRAZIONARI

In un sistema posizione a base fissa r un numero N frazionario vienerappresentato da una successione di cifre dj con 0 ≤ dj < r

N = dn−1dn−2...d2d1d0.d−1d−2d−3...d−m

Questa rappresentazione corrisponde al valore

N = dn−1 · rn−1 + dn−r · rn−2 + ... + d3r3 + d2r

2 + d1r1 + d0r

0+

+d−1

r1+

d2

r2+ ... +

d−(m−1)

rm−1+

d−m

rm

ovvero, in notazione piu compatta

N =n−1∑

i=0

diri +

−m∑

j=−1

dj · rj

N =n−1∑

i=−m

diri

avendo indicato con n il numero di cifre della parte intera e con m il numerodi cifre della parte Frazionaria

Osservazione: la cifra piu a sinistra dn−1 e associata al peso rn−1; lacifra piu a destra dm e associata al peso r−m.

la cifra a sinistra, avendo il peso maggiore e detta cifra piu significativaMSD, mentre quella pu a destra ha il peso minore e viene detta cifra menosignificativa LSD.

Page 18: DISMA Dipartimento di Scienze Matematiche "Giuseppe Luigi ...calvino.polito.it/~lepora/pl.pdfIndice 1 I RAPPRESENTAZIONE DEI NUMERI 1 1.1 Introduzione . . . . . . . . . . . . . . .

Capitolo 2

Conversioni di Base

CONVERSIONI DI BASE

Per le conversioni di base esistono due classi di algoritmi, differenziate dalfatto di operare nella base di partenza oppure nella base di arrivo:I primi sono utilizzati dagli umani, in generale abituati ad operare nellabase 10, per le conversioni dette da base 10 a base qualunque. Essi sonoanche utilizzati dagli automi per operare conversioni dalla loro base di lavoro(usualmente la base 2 o la base 8 o la base 16) ad altre basi). Gli algoritmiche operano nella base di arrivo, come e facile arguire, vengono usatidagli umani per convertire numeri da una base qualunque a base 10 edagli automi per convertire numeri da una base qualunque alla loro basedi lavoro (solitamente 2 o 8 o 16).

2.1 conversione alla base 10

1) Da base qualunque a base 10Dato N in base R

• Esprimere R in base 10

• Esprimere i coefficienti di nella base 10

• Eseguire le operazioni nella base 10

es.: 325)7 = 3 · 72 + 2 · 71 + 5 · 70 = 147 + 14 + 5 = 166325.42= 3 · 49 + 2 · 7 + 5 + 4 · 7−1 + 2 · 7−2 = 166.6122. . . + 4

7 + 249 =.

15

Page 19: DISMA Dipartimento di Scienze Matematiche "Giuseppe Luigi ...calvino.polito.it/~lepora/pl.pdfIndice 1 I RAPPRESENTAZIONE DEI NUMERI 1 1.1 Introduzione . . . . . . . . . . . . . . .

16 CAPITOLO 2. CONVERSIONI DI BASE

2.2 schema di Horner

Il procedimento indicato ha il vantaggio di essere estremamente semplice.Esso presenta tuttavia alcuni svantaggi che si manifestano allorquando cisi proponga di rendere procedurale la conversione. Nel metodo ora visto sidovranno dapprima calcolare i valori delle potenze della base memorizzandoliin opportune locazioni di memoria. Si calcoleranno in seguito le somme deiprodotti tra le singole cifre dk ed i valori memorizzati delle potenze rk, perk ∈ {n− 1, n− 2, ..., 2, 1, 0}. Se si volesse evitare di utilizzare n locazioni dimemoria per la registrazione dei valori delle potenze della base, si dovrebbericorere al calcolo delle potenze stesse ad ogni passo della procedure e quin-di si dovrebberero effettuare molte operazioni in piu di quelle strettamentenecessarie. Lo schema di Horner consente di dedurre un procedimento diconversione che si presta agevolmente ad essere rappresentato in modo pro-cedurale, non richiede orerazioni ridondanti e non necessita di locazioni dimemoria per la memorizzazione di risultati intermedi del calcolo. Sia

N = dn−1...d1d0

che corrisponde, in modo esplicito a:

N = dn−1 · rn−1 + dn−r · rn−2 + ... + d3r3 + d2r

2 + d1r1 + d0r

0

Rifacendoci alle osservazioni fatte per la dimostrazione del teorema di es-istenza ed unicita, si vede immediatamente che e possibile scrivere l’espres-sione precedente nel seguente modo:

N = (...(((dn−1)r) + dn−2)r + dn−3)r...)r + d1)r + d0)

Lo schema di Horner consiste nel calcolo del valore di N , utilizzando lastruttura e l’ordine della espressione sopra riportata.

In forma procedurale, si operera come segue:

1. 0 → N

2. Per k che varia da n− 1 a 0 ripeti:

3. N · r + dk → N

4. Fine

Page 20: DISMA Dipartimento di Scienze Matematiche "Giuseppe Luigi ...calvino.polito.it/~lepora/pl.pdfIndice 1 I RAPPRESENTAZIONE DEI NUMERI 1 1.1 Introduzione . . . . . . . . . . . . . . .

2.2. SCHEMA DI HORNER 17

A titolo esemplificativo, vediamo la conversione del numero N espresso nellabase 2, nel corrispondente numero espresso nella base 10

11101)2 → .... )10

i singoli passi saranno:

1. N = 0

2. N = N · r + d4 = 0 · 2 + 1 = 1

3. N = N · r + d3 = 1 · 2 + 1 = 3

4. N = N · r + d2 = 3 · 2 + 1 = 7

5. N = N · r + d1 = 7 · 2 + 0 = 14

6. N = N · r + d0 = 14 · 2 + 1 = 29

7. Fine

2.2.1 Conversione della parte frazionaria

Anche per la conversione della parte frazionaria si procedera allo stessomodo:

F =−m∑

j=1

dj · rj

rappresentato come 0.d−1d−2 . . . d−m 0. . . .

d−1 · r−1 + d−2 · r−2 + d−3 · r−3 + . . . d−m · r−m

r−1(d−1 + r−1(d−r + r−1(d−3 + . . . r−1(d−m) . . .))

Vm = d−m

Vm−1 = Vm · r−1 + d−(m−1)

Vm−2 = Vm−1 · r−1 + d−(m−2)

Vk = Vk+1 · r−1 + d−k

...F = V1 · r−1

Page 21: DISMA Dipartimento di Scienze Matematiche "Giuseppe Luigi ...calvino.polito.it/~lepora/pl.pdfIndice 1 I RAPPRESENTAZIONE DEI NUMERI 1 1.1 Introduzione . . . . . . . . . . . . . . .

18 CAPITOLO 2. CONVERSIONI DI BASE

CONVERTIRE

0.10101

V5 = 1V4 = 1 · r−1 + 0 = 1/2 + 0 = 1

2

V3 = 12 · r−1 + 1 = 1

4 + 44 = 5

5

V2 = 54 · r−1 + 0 = 5

8

V1 = 58 · r−1 + 1 = 5

16 + 1 = 2116

V0 = 2116 · r−1 = 21

32 = 0.65625

2.3 Conversione dalla BASE 10

CONVERSIONE DA UN SISTEMA A BASE 10 AD UN SISTEMAA BASE QUALSIASI

Direttamente dalla dimostrazione della esistenza ed unicita si ha

N =n−1∑

i=0

di · ri =

[n−1∑

i=1

(di · ri−1)

]· r + d0

e quindi , ponendo N1 =

[n−1∑

i=1

(di · ri−1)

]si potra scrivere

N = N1 · r + d0

La stessa procedura, ripetuta, conduce alla seguente successione

N = N1 · r + d0

N1 = N2 · r + d1

N2 = N3 · r + d2

...Nj−1 = Nj · r + dj−1

Nn−1 = Nn · r + dn−1

avendo posto il termine generale

Nj−1 =

n−(j−1)∑

i=(j−1)

(di · ri−(j−1))

Page 22: DISMA Dipartimento di Scienze Matematiche "Giuseppe Luigi ...calvino.polito.it/~lepora/pl.pdfIndice 1 I RAPPRESENTAZIONE DEI NUMERI 1 1.1 Introduzione . . . . . . . . . . . . . . .

2.3. CONVERSIONE DALLA BASE 10 19

E facile vedere che la successione N ; N1; N2; ...;Nn−1;Nn e decrescentee che Nn = 0. Il calcolo si arresta quindi dopo n passi. Vediamo alcuniesempi di conversione Convertire

27)10 → xxxx )16

27 : 16 = 1 · 16 + 11 → d0

1 : 16 = 0 · 16 + 1 → d1

}→ 1B

27)10 → xxxx)2

27 : 2 = 13 · 2 + 1 → d0

13 : 2 = 6 · 2 + 1 → d1

6 : 2 = 3 · 2 + 0 → d2 ⇒ 110113 : 2 = 1 · 2 + 1 → d3

1 : 2 = 0 · 2 + 1 → d4

2.3.1 conversione della parte frazionaria

PER LA PARTE FRAZIONARIA SI HA

F =−m∑

j=−1

dj · rj = d−1 · r−1 + d−r · r−r+

+d−3 · r−3 + . . . d−m · r−m

moltiplicando per la base r otterremo

r · F = d−1 + d−2 · r−1 + d−3 · r−2 + . . . d−m · r−m+1 = d−1 + V−1

avendo posto V−1 =−m∑

j=−2

dj · rj+1 la moltiplicazione di F per la base r

mette in evidenza una parte intera d−1 ed una parte frazionaria V−1

Potremo pertanto scrivere

Page 23: DISMA Dipartimento di Scienze Matematiche "Giuseppe Luigi ...calvino.polito.it/~lepora/pl.pdfIndice 1 I RAPPRESENTAZIONE DEI NUMERI 1 1.1 Introduzione . . . . . . . . . . . . . . .

20 CAPITOLO 2. CONVERSIONI DI BASE

br · F c = d−1

Per V−1 opereremo come per F ed otterremo

br · V−1c = d−2

...r · V−j+1 = d−j

2.3.2 osservazioni

Vediamo alcune osservazioni:

(a) Come posso affermare che dopo ogni passo esiste una parte interaed una frazionaria?

Al passo k si avra

rV−k = d−(k+1) + V−k+1)

poiche 0 ≤ d−(k+1) < R ⇒ ∃ parte intera.

Vediamo V−(k+1)

V−k+1 = d−(k+1) · r−1 + d−(k+2) · r−2 . . . d−mrk−m

le potenze di r vanno da −1 a −m + k

Ci si deve domandare a questo punto se:−m∑

j=−(k+1)

dj · rk+j ≥ 1

Poniamoci nel caso peggiore:k = 0 e dj = r−1 ∀j = −1, ...,−m

−m∑

j=−1

dj · rj = d−1 · r−1 + d−2 · r−2 + . . . d−m · r−m

se dj = r − 1

−m∑

j=−1

dj · rj = (r − 1)r−1 + (r − 1)r2 + . . . + (r − 1)r−m

= 1− r−1 + r−1 − r−2 + r−2 + . . .−= −r−m+1 + r−m+1 − r−m

= 1− r−m ⇒ < 1

per ogni valore di m.

Page 24: DISMA Dipartimento di Scienze Matematiche "Giuseppe Luigi ...calvino.polito.it/~lepora/pl.pdfIndice 1 I RAPPRESENTAZIONE DEI NUMERI 1 1.1 Introduzione . . . . . . . . . . . . . . .

2.3. CONVERSIONE DALLA BASE 10 21

(b) Operando con m cifre frazionarie, per moltiplicazione, avremo,al termine di ogni passo, ancora m cifre significative per la partefrazionaria. Cio non ci consente di fare alcuna previsione sul nu-mero di passi da copiere prima che la procedura si arresti. Anzi,potremo dire che la procedura si arrestera solamente nel caso incui V−j+1 = 0. Ci saranno quindi casi in cui la procedura nonsi arresta. Viene cosı a mancare una delle ipotesi fondamentaliper poter definire la procedura descritta un algoritmo (Un algo-ritmo deve terminare in un numero finito di passi). Si dovrapertanto prevedere l’arresto dopo che si saranno individuate lecifre frazionarie desiderate. E ovvio che in tutti questi casi, sidovra accettare un errore di conversione in quanto il valore dopol’arresto della procedura sara troncato ad un certo numero di cifrefrazionarie,inferiore al numero ci cifre necessarie.

Vediamo alcuni esempi

CONVERTIRE

0.6875)10 → xxxx)2

0.6875 · 2 = 1.37500.3750 · 2 = 0.750.75 · 2 = 1.50.5 · 2 = 1.0

y

1 + 0.3750 d−1

0 + 0.75 d−2

1 + 0.5 d−3

1 + 0 d−4

e quindi

0.6875)10 ⇒ 0.1011

CONVERTIRE

0.1)10 → xxxx)2

Page 25: DISMA Dipartimento di Scienze Matematiche "Giuseppe Luigi ...calvino.polito.it/~lepora/pl.pdfIndice 1 I RAPPRESENTAZIONE DEI NUMERI 1 1.1 Introduzione . . . . . . . . . . . . . . .

22 CAPITOLO 2. CONVERSIONI DI BASE

0.1 · 2 = 0.20.2 · 2 = 0.40.4 · 2 = 0.80.8 · 2 = 1.60.6 · 2 = 1.20.2 · 2 = 0.40.4 · 2 = 0.80.8 · 2 = 1.60.6 · 2 = 1.20.2 · 2 = 0.40.4 · 2 = 0.80.8 · 2 = 1.6

y

0 + 0.2 ⇒ d−1

0 + 0.4 ⇒ d−2

0 + 0.8 ⇒ d−3

1 + 0.6 ⇒ d−4

1 + 0.2 ⇒ d−5

0 + 0.4 ⇒ d−6

0 + 0.8 ⇒ d−7

1 + 0.6 ⇒ d−8

1 + 0.2 ⇒ d−9

0 + 0.4 ⇒ d−10

0 + 0.8 ⇒ d−11

1 + 0.6 ⇒ d−12

e quindi

0.1)10 ⇒ 0.0001100110011001100110011001100110011...

2.4 Conversioni da base r a rk con k intero

positivo

Nel caso particolare in cui sia richiesta la conversione da base r a rk

si possono individuare tecniche di conversione molto interessanti dalpunto di vista della semplicita.

Il numero N , nella base R = rk sara :

dn−1dn−2 . . . dj . . . d2d1d0)R′

o, piu esattamente,

dn−1 ·R′n−1 + dn−2 ·R′n−2 + . . . d1 ·R′1 + d0 ·R′0 0 ≤ di < R′

Avendo posto R = rk , potremo sostituire al valore R il valore rk

dn−1 · (rk)n−1dn−2(rk)n−2 + di(k)i + d1rk + d0

Page 26: DISMA Dipartimento di Scienze Matematiche "Giuseppe Luigi ...calvino.polito.it/~lepora/pl.pdfIndice 1 I RAPPRESENTAZIONE DEI NUMERI 1 1.1 Introduzione . . . . . . . . . . . . . . .

2.4. CONVERSIONI DA BASE R A RK CON K INTERO POSITIVO23

se esprimiamo di come un polinomio in base r avremo

di = Ci,k−1 · rk−1 + Ci,k−2rk−2 . . . Ci,1r + Ci,0

sostituendo avremo.(Cn−1,k−1r

k−1 + Cn−1,k−2rk−2 + . . . Cn−1,1r + Cn−1,0

)(rk)n−1+(

Cn−2,k−1rk−1 + Cn−2,k−2r

k−2 + . . . Cn−2,1r + Cn−2,0

)(rk)n−2+(

C1,k−1rk−1 + C1,k−2r

k−2 + . . . C1,1r + C1,0

)(rk)1+(

C0,k−1rk−1 + C0,k−2r

k−2 + . . . C0,1r + C0,0

)(rk)0 =

Cn−1,k−1rkn−k+k−1 + Cn−1,k−2r

kn−k+k−2 + Cn−1,0rkn−k+

Cn−2,k−1rkn−2k+k−1 + Cn−2,k−2r

kn−2k+k−2 + Cn−2,0rkn−2k+

C1,k−1rk+k−1 + C1,k−2r

k+k−2 + C1,0rk+

Cn−1,k−1rkn−1 + Cn−1,k−2r

kn−2+. . . C0,k−1r

k−1 + C0,k−2rk−2 + . . . C0,0r

0

Allora si puo concludere che la rappresentazione di N vale:

Cn−1,k−1Cn−1,k−2Cn−1, . . . Cn−1,0Cn−2,k−1 . . . Cn−2,0, . . .

C1,k−1C1,k−2 . . . C1,1, C1,0C0,k−1C0,k−2 . . . C0,1, C0,0

La cosa e interessante specialmente per il modo in cui abbiamo gener-ato i coefficienti: Ci,j e dato dalla jesima cifra ottenuta nella rappre-sentazione di di infatti

di =k−1∑

j=0

Ci,j · rj

e quindi si puo concludere che nelle conversioni da base rk a base r eviceversa sara sufficiente saper convertire le singole cifre espresse inbase rk nella corrispondente rappresentazione in base r.

Per il caso inverso occorrera saper convertire gruppi di cifre del nu-mero in base r, presi a gruppo di k cifre a partire da LSB, nelle cor-rispodenti cifre della base rk. Non e restrittivo supporre che le cifre diN nella base r siano un multiplo itero di k. Se cosı non fosse, basteraaggiungere da sinistra un tante cifre dn+2 = 0, dn+1 = 0 , dn = 0 inmodo da esprimere N con un numero di cifre multiplo di k.

Page 27: DISMA Dipartimento di Scienze Matematiche "Giuseppe Luigi ...calvino.polito.it/~lepora/pl.pdfIndice 1 I RAPPRESENTAZIONE DEI NUMERI 1 1.1 Introduzione . . . . . . . . . . . . . . .

24 CAPITOLO 2. CONVERSIONI DI BASE

2.5 numeri con Segno

Rappresentazione dei numeri con Segno

2.5.1 Modulo e segno

I tutti i sistemi di numerazione, Il modo piu semplice per rappresentarenumeri con segno consiste nell’anteporre o nel postporre alla rappre-sentazione N del numero, 2 simboli speciali che indichino se il valoreda attribuire alla rappresentazione sia > o < di ∅La rappresentazione cui siamo abituati usa normalmente i simboli

+ e −

anche se non e difficile incontrare simboli diversi. Bastera ricordare isimboli CR DB spesso usati in ambito bancario oppure la tecnica diporre tra i simboli ( e ) il numero N quando sia n < 0.

NB1: In questo caso + e − sono simboli unari e non hanno nulla avedere coi simboli + e − visti come operatori binari per sommae sottrazione

NB2: Per i calcolatori sarebbe scomodo dover fare ricorso a 2 segnispeciali oltre ai 2 gia usati 0 e 1

Si conviene pertanto che

(a) La prima cifra (MSD) rappresenti il segno del numero

(b) Il valore 0 della prima cifra indichera N > 0 mentre il valore(R− 1) indichera numeri N < 0

(c) Le restanti cifre rappresentano il modulo del numero

Se N > 0 allora la rappresentazione e:

0|N | = 0dn−2 . . . d1d0

se N < 0 allora

(R− 1)|N | = (R− 1)dn−2dn−3 . . . d1d0

Questa rappresentazione e detta:

Page 28: DISMA Dipartimento di Scienze Matematiche "Giuseppe Luigi ...calvino.polito.it/~lepora/pl.pdfIndice 1 I RAPPRESENTAZIONE DEI NUMERI 1 1.1 Introduzione . . . . . . . . . . . . . . .

2.5. NUMERI CON SEGNO 25

MODULO E SEGNO

2.5.2 Complemento alla base diminuita

SiaNmax il massimo numero che riesco ad esprimere utilizzando n cifreper la parte intera ed m cifre per la parte frazionaria

Nmax =n−1∑

i=0

di · ri +−m∑

j=−1

dj · rj

Nmax = (r − 1)rn−1 + . . . r − 1++(r − 1)r−1 + (r − 1)r−2 + . . . (r − 1)r−m

= rn − rn−1 + rn−1x + . . . + r − 1 + 1− r−1++ . . . + r−m+1r−m == rn − r−m

Definisco come complemento alla base diminuita

N(r) = Nmax −N = rn − r−m −N(r)

Dove n indica il numero di cifre destinate alla rappresentazione dellaparte intera e m il numero di cifre destinate alla rappresentazione dellaparte frazionaria

E immediato verificare che se si fa riferimento a numeri interi NR

sara

NR = rn − 1−NR

Applicando la definizione n = 3 m = 0 R = 0

N = 27 N = 103 − 1− 27 = 999− 27 = 972 N = 972

n = 3 m = 2 R = 10

N = 27.22 N = 103 − 10−2 − 27.22 = 999.99− 27− 22 N = 972.77

n = 5 m = 0 R = 2

N = 00101 N = 25 − 1︸ ︷︷ ︸ −00101 =

N = 11111 −00101 = 11010

Page 29: DISMA Dipartimento di Scienze Matematiche "Giuseppe Luigi ...calvino.polito.it/~lepora/pl.pdfIndice 1 I RAPPRESENTAZIONE DEI NUMERI 1 1.1 Introduzione . . . . . . . . . . . . . . .

26 CAPITOLO 2. CONVERSIONI DI BASE

N = 11010

La prima cifra rappresenta ancora il segno ma le cifre n− 2 . . . 0 nonrappresentano il modulo del numero!

Valore vero

N = −dn−1(2n−1 − 1) +n−2∑

i=0

di · 2i

se dn−1 = 0 ci si ritrova nello schema ben noto;

se invece dn−1 6= 0 allora si dovra operare con la tecnica sopra indicata.

L’operazione che trasforma un numero positivo in un numero negativoe assai semplice:

Sia +N =n−1∑

i=0

diri con dn−1 = 0 allora −N sara

−N =n−1∑

i=0

kiri

con kn−1 = r − 1 ki = di{n − 2, n − 3, . . . 2, 1, 0} e di = (r − 1) −di. Ricordando pero che dn−1 = 0 allora lestressione soprariportatadiventa: dn−1 = r − 1

Pertanto sara

−N =n−1∑

i=0

diri

infatti, dalla definizione

N = Nmax −N = rn − 1−N

=n−1∑

i=0

(r − 1) · ri −n−1∑

i=0

di · ri

=n−1∑

i=0

(r − 1− di)ri

ponendo (r − 1− di) = di ⇒

N =n−1∑

i=0

di · ri

Page 30: DISMA Dipartimento di Scienze Matematiche "Giuseppe Luigi ...calvino.polito.it/~lepora/pl.pdfIndice 1 I RAPPRESENTAZIONE DEI NUMERI 1 1.1 Introduzione . . . . . . . . . . . . . . .

2.5. NUMERI CON SEGNO 27

Osservazioni

⇒ La semplicita operativa circuitale

⇒ Doppia rappresentaione dello zero!

⇒ Per il caso R = 2 il valore vero si ottiene dalla

N = −dn−1 · (2n−1 +n−2∑

i=0

di2i)

se dn−1 = 0 ci si ritrova nel caso normale, se invece dn−1 6= 0, perR = 2 dn−1 = 1 e quindi

N = −2n−1 +n−2∑

i=0

di · 2i

2.5.3 Rappresentazione in complemento alla base

Definiamo ¯N come complemento di N alla base R la sequenza di cifreottenuta dalla ¯N = rk − N con k uguale al numero di cifre dedicatoalle rappresentazioni di N

N = 027, R = 10 K = 3¯N = 103 − 027 = 973

N = 00101 R = 2 K = 5¯N = 25 − 00101 = 100000− 00101 = 11011

N = 127 R = 10 K = 3¯N = 103 − 127 = 873 → Valore ERRATO poiche , per K = 3, non epossibile rappresentare 127.

Infatti dalla ¯N = rn −N si puo dedurre

Page 31: DISMA Dipartimento di Scienze Matematiche "Giuseppe Luigi ...calvino.polito.it/~lepora/pl.pdfIndice 1 I RAPPRESENTAZIONE DEI NUMERI 1 1.1 Introduzione . . . . . . . . . . . . . . .

28 CAPITOLO 2. CONVERSIONI DI BASE

¯N = rn −n−1∑

i=0

diri =

= rn − 1−n−1∑

i=0

diri + 1 =

=n−1∑

i=0

(r − 1) · ri −n−1∑

i=0

diri + 1 =

=n−1∑

i=0

(r − 1− di) · ri + 1 =

=n−1∑

i=0

diri + 1

per R = 2 n = 5

N = 00011 N = 11100

¯N = N + 1 = 11100 +1

======11101

Ci si deve occupare, anche per le rappresentazioni in complemento alla

base della rappresentazione dello zero. Sia N = 000000, sia n = 6 esia infine N = 111111, allora

¯N = 111111 +1

∗1 000000︸ ︷︷ ︸n = 6

Ricordando che la scelta di operare con i numeri con n cifre implicache vengano tralasciate le cifre da n + 1 in poi (Piu correttamente sidira che si opera in aritmetica modulo (2n), ci consente di concludereche in questo caso non si ha la doppia rappresentazione dello zero.

Possiamo infine, a questo proposito, esaminare, vuoi per il comple-

mento alla base diminuita, vuoi per il complemento alla base l’oper-azione di sottrazione tra 2 numeri D = N −M Vediamo dapprima ilcaso del complemento alla base

Page 32: DISMA Dipartimento di Scienze Matematiche "Giuseppe Luigi ...calvino.polito.it/~lepora/pl.pdfIndice 1 I RAPPRESENTAZIONE DEI NUMERI 1 1.1 Introduzione . . . . . . . . . . . . . . .

2.5. NUMERI CON SEGNO 29

L’operazione D = N −M puo essere vista come

N −M + rn − rn = N + (rn −M)− rn == N + ¯M − rn = N + ¯M

N −M = N + ¯M

Operando invece in complemento alla base diminuita, si avra:

N −M = N −M + rn − 1− (rn − 1) == N + (rm − 1−M)− rn + 1 == N + M + 1

In entrambe le situazioni e facile vedere come la tecnica della comple-

mentazione sia particolarmente utile per le operazioni aritmetiche disomma e sottrazione.

2.5.4 Algoritmi per complementazione

Si riportano due algoritmi: il primo deriva direttamente dalla definizione,il secondo e molto semplice da usare.

A ⇒ Dalla definizione: si trova il complemento as 1 e si somma 1

B ⇒ Partendo da LSB, procediamo verso MSB

B.1 Lasciare inalterate le cifre fino al primo 1

B.2 Complemento le cifre successivo fino a MSG

Esempio algoritmo A

N = 01001001110001000N = 10110110001110111 +

1

¯N 10110110001111000

Algoritmo B

N = 01001001110001000

¯N = 10110110001111000

Page 33: DISMA Dipartimento di Scienze Matematiche "Giuseppe Luigi ...calvino.polito.it/~lepora/pl.pdfIndice 1 I RAPPRESENTAZIONE DEI NUMERI 1 1.1 Introduzione . . . . . . . . . . . . . . .

30 CAPITOLO 2. CONVERSIONI DI BASE

2.5.5 Intervallo di rappresentazione

Sulla scorta delle precedenti osservazioni, siamo ora in grado di fissarecon precisione gli intervalli di rappresentazione.

Interi senza segno 0 ` − − − a 2n − 1 2n N ∈ [0, 2n − 1] [0 ≤N ≤ 2n − 1]

Modulo e segno

−2n−1 − 1 ` − −− a 2n−1 − 1

Complemento a 1

−2n−1 − 1 ` − −− a 2n−1 − 1

Complemento a 2

−2n−1 ` − −− a 2n−1 − 1

Page 34: DISMA Dipartimento di Scienze Matematiche "Giuseppe Luigi ...calvino.polito.it/~lepora/pl.pdfIndice 1 I RAPPRESENTAZIONE DEI NUMERI 1 1.1 Introduzione . . . . . . . . . . . . . . .

2.5. NUMERI CON SEGNO 31

2.5.6 Raffronto tra i vari metodi (per la base 2)

Numero Modulo Complem. Complem.decimale e segno alla alla

base basedimunita

+7 0011 0111 0111+6 0110 0110 0111+5 0101 0101 0101+4 0100 0100 0100+3 0011 0011 0011+2 0010 0010 0010+1 0001 0001 0001+0 0000 0000 0000-0 1000 1111 –-1 1001 1110 1111-2 1010 1101 1110-3 1011 1100 1101-4 1100 1011 1100-5 1101 1010 1011-6 1110 1001 1010-7 1111 1000 1001-8 – – 1000

Page 35: DISMA Dipartimento di Scienze Matematiche "Giuseppe Luigi ...calvino.polito.it/~lepora/pl.pdfIndice 1 I RAPPRESENTAZIONE DEI NUMERI 1 1.1 Introduzione . . . . . . . . . . . . . . .

32 CAPITOLO 2. CONVERSIONI DI BASE

Page 36: DISMA Dipartimento di Scienze Matematiche "Giuseppe Luigi ...calvino.polito.it/~lepora/pl.pdfIndice 1 I RAPPRESENTAZIONE DEI NUMERI 1 1.1 Introduzione . . . . . . . . . . . . . . .

Capitolo 3

Aritmetica

FRAZIONARIA

ARITMETICA FRAZIONARIA

L’abituale tecnica di utilizzare un apposito simbolo ( normalmente ilcarattere <, > o il carattere < . > per rappresentare la suddivisione traparte intera e parte frazionaria di un numero, non puo essere adottatanei nei registri di un sistema di elaborazione. Si sono dunque elab-orate altre tecniche per la rappresentazione di numeri in aritmeticafrazionaria.

3.1 Virgola Fissa

Virgola Fissa

Si conviene di rappresentare il numero come:

a) un intero N∗

b) un fattore di scala P

Per il fattore di scala si adottano le seguenti convenzioni:

c) il fattore di scala non viene memorizzato

d) il fattore di scala e pari ad una potenza della base

33

Page 37: DISMA Dipartimento di Scienze Matematiche "Giuseppe Luigi ...calvino.polito.it/~lepora/pl.pdfIndice 1 I RAPPRESENTAZIONE DEI NUMERI 1 1.1 Introduzione . . . . . . . . . . . . . . .

34 CAPITOLO 3. ARITMETICA FRAZIONARIA

e) il fattore di scala non cambia mai durante i calcoli

una qualsiasi sequenza assume significati differenti in base al valoredel fattore di scala utilizzato.

Come si e visto, nella aritmetica intera i numeri rappresentabili su n

posizioni sono Rn.

Nel caso di interi positivi si ha

[0, Rn − 1]

nel caso di interi relativi, in complemento alla base si ha

[−Rn−1, Rn−1 − 1]

l’uso di un fattore di scala consente, senza mutare il numero degli ele-menti rappresentabili dal sistema, di operare in aritmetica frazionaria.Purtroppo il fattore di scala, non essendo registrato (memorizzato),non muta e quindi il programmatore, altre a dovra tener conto della laposizione del punto decimale, dovra tener conto della possibilita, tut-taltro che remota, superare, durante l’esecuzione dei calcoli, dei limitidel sistema di numerazione adottato e del fattore di scala prescelto.

L’uso della virgola fissa e assai limitativo, complicato per il program-matore e fonte di numerosi errori. Queste ragioni rendono il sistemaora descritto assai poco utilizzato.

E necessario poter operare con un fattore di scala variabile

3.2 Virgola mobile

Il numero N , sin qui rappresentato da

N =n−1∑

i=0

diri

viene rappresentato nel modo seguente:

a) il segno del numero.

b) una quantita M chiamata mantissa del numero.

Page 38: DISMA Dipartimento di Scienze Matematiche "Giuseppe Luigi ...calvino.polito.it/~lepora/pl.pdfIndice 1 I RAPPRESENTAZIONE DEI NUMERI 1 1.1 Introduzione . . . . . . . . . . . . . . .

3.2. VIRGOLA MOBILE 35

c) un fattore di scala costituito da una base R e da un esponente E

N = ±M ·RE

= ±−m∑

i=−1

diri ·R

P∑

j=0

dj · r∗j

Per di e dj valgono le ipotesi 0 ≤ di < r e 0 ≤ dj < r∗ R = base delnumero r = base della mantissa r∗ = base dell’esponente

M = mantissa

E = esponente

Come avviene nell’aritmetica intera M e rappresentata dalla succes-sione di cifre

M = d−1d−2d−3 . . . d−m

E = dp−1dp−2 . . . d1d0

Sulla scorta delle ipotesi precedenti, la coppia (M, E) unitamente alsegno di M ed al segno di E, rappresentano N

Osservazioni:

a) nella

N = ±−nm∑

i=−1

d− iri ·R

nE∑

j=1

dj · r∗j

a) I valori r ,R ed r∗ possono assumere valori diversi

b) Nel caso in cui r,R ed r∗ siano coincidenti si puo fare in modo chela prima cifra delle mantisse sia 6= 0.

Ogni spostamento della virgola della M verso destra richiede la dimin-uzione di una unita del valore E, inversamente, uno spostamento versosinistra richiede che il valore di E sia aumentato di una unita.

Ad esempio esempio con r 6= R 6= r∗

Page 39: DISMA Dipartimento di Scienze Matematiche "Giuseppe Luigi ...calvino.polito.it/~lepora/pl.pdfIndice 1 I RAPPRESENTAZIONE DEI NUMERI 1 1.1 Introduzione . . . . . . . . . . . . . . .

36 CAPITOLO 3. ARITMETICA FRAZIONARIA

0.7432 · 10130.007432 · 10150.07432 · 1014

3.2.1 Mantissa normalizzata

se la prima cifra della mantisa e 6= 0 e cioe d−1 6= 0 si dice che lamantissa e normalizzata Le limitazioni ai valori assunti dalla mantissasaranno quindi:

0 ≤ M < 1 non normalizzatar−1 ≤ M < 1 normalizzata

3.2.2 tattamento del segno

La coppia M ed E e vista come numero con segno.

Il segno del numero

Per quanto riguarda il segno del numero ci connverra fare riferimentoa quanto detto nei paragrafi precedenti per i numeri interi. Tra i 3possibili metodi utilizzabili, il piu comune, e il metodo detto Modulo esegno.

Il segno dell’esponente

Per quanto riguarda il segno dell’esponete si usa una tecnica diversada quelle sin qui esaminate. Tale tecnica, detta di Polarizzazione verraesaminata in seguito.

3.3 Intervalli di rappresentazione

Max valore mantissa 1− r−nm

Min valore mantissa r−nm (non normalizzata)

Min valore mantissa r−1 (normalizzata)

Page 40: DISMA Dipartimento di Scienze Matematiche "Giuseppe Luigi ...calvino.polito.it/~lepora/pl.pdfIndice 1 I RAPPRESENTAZIONE DEI NUMERI 1 1.1 Introduzione . . . . . . . . . . . . . . .

3.3. INTERVALLI DI RAPPRESENTAZIONE 37

Max valore esponente > 0 rn−E − 1

Min valore esponente < 0 −(rnE − 1)∗ dipende dalla scelta fatta perE < 0

Allora possiamo indicare quali sono gli intervalli che sono utilizzabilicoi numeri cosı organizzati:

10 caso

mantissa normalizzata

NGP = (1− r−nm) ·RrnE−1

NGN = −NGP

NLP = r−1 ·RNLN = −NLP

20 caso

mantissa non normalizzata

GP = (1− r−nm) ·RrnE−1

GN = −GP

LP = r−nm ·R(rmE−1)

LN = −LP

Page 41: DISMA Dipartimento di Scienze Matematiche "Giuseppe Luigi ...calvino.polito.it/~lepora/pl.pdfIndice 1 I RAPPRESENTAZIONE DEI NUMERI 1 1.1 Introduzione . . . . . . . . . . . . . . .

38 CAPITOLO 3. ARITMETICA FRAZIONARIA

Vediamo alcune particolarita di questa classe di numeri.

Non esistono numeri tra NLN e NLP oppure tra LN e LP

Ve ne sono invece rnm nell’intervallo NLP ` −−− −−− a R·NLP

ma anche nell’intervallo R ·NLP ` − − − − −− a R2 ·NLP vene sono esattamente rnm.

Ma questo intervallo e di R volte piu grande del precedente. Questinumeri non solo non sono equispaziati nell’intervallo di esistenza, nonsono nemmeno spaziati con progressione lineare: si ha una spaziatura ascatti. Si puo idealmente suddividere l’intervallo NLP NGP in rnE

intervalli piu piccoli aventi ampiezza che cresce secondo la successione:

{R R2 R3 · · ·Ri · · ·R(rnm−1)}

I numeri macchina ricoprono in modo discreto lo spazio dei numerireali. La loro caratteristica e quella di diradarsi progressivamente col-l’aumentare del modulo del numero. All’interno ci ciascuno degli in-tervalli delimitati dalla successione sopra riportata, i numeri macchi-na sono equispaziati. In ogni intervallo della successione, vi sonoesattamente rnm numeri macchina.

Esempio: Ipotesi R = 2 M normalizzata nm = 4 nE = 2 numeripositivi

00 01 10 11

0.1000 1/2 1 2 40.1001 1/2+1/16 1+1/8 2+1/4 4+1/20.1010 1/2+1/8 1+1/4 2+1/2 4+10.1011 1/2+1/8+1/16 1+3/8 2+3/4 5+1/20.1100 1/2+1/4 1+1/2 3 60.1101 1/2+1/4+1/16 1+5/8 3+1/4 6+1/20.1110 1/2+1/4+1/8 1+3/4 3+1/2 70.1111 1/2+1/4+1/8+1/16 1+7/8 3+3/4 7+1/2

Page 42: DISMA Dipartimento di Scienze Matematiche "Giuseppe Luigi ...calvino.polito.it/~lepora/pl.pdfIndice 1 I RAPPRESENTAZIONE DEI NUMERI 1 1.1 Introduzione . . . . . . . . . . . . . . .

3.4. ε MACCHINA 39

3.4 ε macchina

Quanto visto nella sezione precedente ci permette di fare alcune ulte-riori osservazioni. In ogni intervallo della successione:

{R, R2, R3, · · ·Ri, · · ·R(rnm−1)}

vi sono esattamente rnm numeri macchina. Se invece di studiare ildiradamento dei numeri macchina in assoluto studiamo la distanzatra 2 numeri riferita al valore assoluto di uno dei due, troveremo unaquantita che non dipende piu dall’intervallo considerato.

Teorema 5 Nell’intervallo di esistenza dei numeri macchina:

NGN ≤ n ≤ NLN ; 0; NLP ≤ n ≤ NGP

oppureGN ≤ n ≤ LN ; 0; LP ≤ n ≤ GP

il rapporto della distanza tra due numeri macchina consecutivi e l’estremoinferiore dell’intervallo della successione

{R R2 R3 · · ·Ri · · ·R(rnm−1)}

cui i 2 numeri appartengono e costante in tutto l’intervallo di es-istenza. Siano N1 e N2 i due numeri macchina consecutivi, presinell’intervallo

r(j−1) < N1 < N2 < rj

L’ampiezza dell’intervallo sara

χj = rj − r(j−1) = r(j−1)(r − 1)

In questo intervallo cadranno esattamente rnm numeri e pertanto ladistanza tra un numero ed il successivo sara data da:

ψx =r(j−1)(r − 1)

rnm

e quindi, il rapporto tra questo valore ed il valore r(j−1) che rappresental’estremo inferiore dell’intervallo considerato, risulta essere:

E =r(j−1)·(r−1)

rnm

r(j−1)

Page 43: DISMA Dipartimento di Scienze Matematiche "Giuseppe Luigi ...calvino.polito.it/~lepora/pl.pdfIndice 1 I RAPPRESENTAZIONE DEI NUMERI 1 1.1 Introduzione . . . . . . . . . . . . . . .

40 CAPITOLO 3. ARITMETICA FRAZIONARIA

e pertanto:E = rnm(r − 1)

Come e facile vedere, tale valore non dipende dal particolare intervalloutilizzato per il calcolo. Tale valore dipende unicamente dai parametricaratteristici della rappresentazione in Floating point adottati.

L’elemento ora individuato costituisce una caratteristica fondamentaledei sitemi di numerazione utilizzati e prende il nome di precisione dimacchina o ε macchina.

definizione

ε e definito come: ampiezza dell’intervallo tra 1 ed il numero macchi-na immediatamente > 1. Conoscendo i parametri caratteristici delsistema adottato si puo facilmente ricavare il valore di ε.

3.4.1 calcolo teorico di ε macchina

Teorema 6 Sia r la base di rappresentazione, sia nm il numero dicifre destinate alla rappresentazione della mantissa del numero.

Th) Il valore di ε macchina e dato dalla:

ε = r(−nm+1)

Dimostrazione Partendo dalla definizione, esprimiamo il valore di 1e del numero macchina immediatamente > 1; sottrarremo quindiil secondo valore dal primo ottenendo cosı il risultato cercato.

Il valore 1 e dato da

N1 = r−1 · rr0= 1

Il valore immediatamente maggiore sara

N1+ = (r−1 + r−nm) · rr0

Sottraendo si ottiena:

(r−1 + r−nm) · r1 − r−1 · r1 = 1 + r−nm+1 − 1 = r(1−nm)

e quindi:ε = r(−nm+1)

Page 44: DISMA Dipartimento di Scienze Matematiche "Giuseppe Luigi ...calvino.polito.it/~lepora/pl.pdfIndice 1 I RAPPRESENTAZIONE DEI NUMERI 1 1.1 Introduzione . . . . . . . . . . . . . . .

3.4. ε MACCHINA 41

3.4.2 Algoritmo per ricavare ε

Nel caso invece non sia possibile conoscere il valore di ε in modoanalitico, (caso assai comune), e possibile determinare il suo valorericorrendo ad un semplice algoritmo: Si parte da un valore di tentati-vo tent, molto grande. In un ciclo, con divisioni successive, si dimez-za, ad ogni passo, il valore di tentativo; si arrestera il ciclo quandoil valore di tent trovato sara cosı piccolo da non raggiungere, se som-mato al valore 1, il primo numero macchina immediatamente > 1. Aquesto punto tent e certamente inferiore al valore ε cercato. Se neprende il doppio 2 · tent, ben sapendo che in questo caso il valore saracertamente approssimato per eccesso. Per uscire dal dilemma: valoreapprossimato per difetto, valore approssimato per eccesso si ricorread un arificio apparentemente inutile in un contesto analitico puro:si somma il valore approssimato per eccesso ad 1 e quindi si sottraenuovamente 1

a = tent + 1

e quinditent = a− 1

In realta, pero, non ci si trova ad operare in un contesto analiticopuro ma si lavora coi numeri macchina che, per quanto detto in prece-denza, non sono densi nell’intervallo. L’operazione tent + 1 potrasoltanto condurre ad un numero macchina, in particolare, al numeromacchina approssimato per difetto al valore vero tent + 1. E ovvioche tale numero macchina non potra che essere il numero macchinaimmediatamente > 1. Ne discende immediatamente che la successivasottrazione di 1 dal numero ora trovato, condurra immediatamente alvalore cercato di ε.

Procedendo in termini piu schematici si ha:

(a) Inizio

(b) Assegnare ad ε un valore di tentativo (grande)

(c) CICLO : ripeti

i. Dividere il valore di ε per 2

ii. Sommare al valore trovato il valore 1

Page 45: DISMA Dipartimento di Scienze Matematiche "Giuseppe Luigi ...calvino.polito.it/~lepora/pl.pdfIndice 1 I RAPPRESENTAZIONE DEI NUMERI 1 1.1 Introduzione . . . . . . . . . . . . . . .

42 CAPITOLO 3. ARITMETICA FRAZIONARIA

iii. Se il risultato della somma e 6= 1 allora ripeti

(d) Raddoppiare il valore di ε

(e) Sommare al valore trovato 1

(f) Sottrarre 1 al valore trovato

(g) Fine

EP := 10.

↓→ → EP := EP/2.

↑ ↓← falso se (1 + EP = 1)

↓vero

↓↓

EP := EP ∗ 2.

EX := 1.0 + EP

EP := EX − 1.0

3.5 Parametri in un sistema Virgola mobile

Vi sono molte scelte possibili tra i parametri che caratterizzano unsistema in virgola mobile:

(a) La base R

i. la base del numero

ii. la base della mantissa

iii. la base dell’esponente

(b) La Mantissa

Page 46: DISMA Dipartimento di Scienze Matematiche "Giuseppe Luigi ...calvino.polito.it/~lepora/pl.pdfIndice 1 I RAPPRESENTAZIONE DEI NUMERI 1 1.1 Introduzione . . . . . . . . . . . . . . .

3.5. PARAMETRI IN UN SISTEMA VIRGOLA MOBILE 43

i. numero di cifre destinate alla mantissa

ii. normalizzazione

iii. metodo adottato per il segno della mantissa

(c) L’esponente

i. numero di cifre destinate all’esponente

ii. metodo adottato per il segno dell’esponente

(d) Convenzioni per

i. il numero 0

ii. il piu piccolo numero neq0

iii. il piu grande numero rappresentabile

Prima di poterci addentrare nelle possibili scelte dei parametri soprarichiamati converra soffermarci su alcuni aspetti essenziali ad unapiena comprensione dei numeri in virgola mobile

3.5.1 polarizzazione

Tecnica della polarizzazione.

Non abbiamo sino ad ora affrontato esplicitamente il problema dellarappresentazione del segno dell’esponente in un sistema virgola mo-

bile. Sebbene le tecniche classiche di rapppresentazione possano es-sere utilmente applicate, si preferisce, di solito, fare ricorso ad unastrategia differente. Anziche rappresentare esponenti con segno, sipreferisce sommare al valore dell’esponente una quantita P tale daavere come effetto la traslazione della rappresentazione dell’esponentein un intervallo 0 ≤ x ≤ EspMax

P prende il nome di fattore di polarizzazione.

Page 47: DISMA Dipartimento di Scienze Matematiche "Giuseppe Luigi ...calvino.polito.it/~lepora/pl.pdfIndice 1 I RAPPRESENTAZIONE DEI NUMERI 1 1.1 Introduzione . . . . . . . . . . . . . . .

44 CAPITOLO 3. ARITMETICA FRAZIONARIA

Sia Ev l’esponente vero

Sia Ep l’esponente come viene rappresentato: esponente polarizzato

Sia P il fattore di polarizzazione

alloraEp = Ev + P

La scelta del valore da assegnare a P non e particolarmente complessaPoiche si ha −(rnE−1 − 1) < Ev < +(rnE−1 − 1), dovendo neces-sariamente essere 0 ≤ Ep si deduce immediatamente che P non potraassumere valori minori di −(rnE−1 − 1); d’altra parte, Ep non potraassumere valori maggiori di rnE − 1 e quindi, per questa limitazione,P non assumera valori maggori di

rnE − 1 − (rnE−1 − 1) = (rnE−1)(r − 1)

Il vantaggio di questa tecnica consiste nel utilizzare esponenti che as-sumono valori proporzionali al valore assoluto del numero consenten-do quindi di effettuare confronti tra 2 numeri dimenticando che si staoperando con numeri FP.

Nel caso di NLP con Ev = min si ottiene Ep = 0.

3.5.2 Hidden bit

Nel caso si usino mantisse normalizzate, con R = 2, si potra fare inmodo che il primo bit (MSB) della mantissa sia 6= 0 e quindi d1 = 1in tal caso e possibile evitare di memorizzare questa cifra ottenendoun miglioramento nella precisione:

la rappresentazione e tale da presentare una mantissa con un bit in +,tale tecnica viene chiamata del bit nascosto - Hidden hit.

Sulla base di quanto sopra, si possono fare immediatamente le seguenticonsiderazioni:

→ Hidden-bit, non muta il range

→ Hidden-bit, muta εps

→ Hidden-bit, richiede l’uso di registri con un numero di bit superioreal numero di bit usati per la memorizzazione.

Page 48: DISMA Dipartimento di Scienze Matematiche "Giuseppe Luigi ...calvino.polito.it/~lepora/pl.pdfIndice 1 I RAPPRESENTAZIONE DEI NUMERI 1 1.1 Introduzione . . . . . . . . . . . . . . .

3.5. PARAMETRI IN UN SISTEMA VIRGOLA MOBILE 45

3.5.3 La rappresentazione dello zero

Abbiamo sinora evitato di parlare della rappresentazione del numeroZERO Da un punto di vista astratto, appare immediatamente che M =0 e condizione necessaria e suff. perche N = 0

M = 0 → N = 0

. L’esponente non ha alcuna importanza ai fini della rappresentazionedello zero. Le osservazioni appena fatte, ci suggeriscono alcune con-siderazioni:

Visto che l’esponente non ha alcun ruolo nella rappresentazione dellozero, ci suggerisce la possibilita di assegnare valori 6= 0 all’espo-nente per scopi speciali

Mentre per un numero intero con o senza segno il valore 0 implicache tutti i bit a 0:

di = 0 ∀i = 0, n− 1

per un numero FP N = 0 non richiede che tutti i bit siano ze-ro, essi tuttavia possono esserlo. Si puo pretanto parlare di zerosporco e di zero pulito.

3.5.4 Segno del numero

Il segno di un numero dipende ovviamente dal segno della man-tissa. Sara sufficente fare riferimento alle considerazioni prece-dentemente svolte per i numeri interi applicandole alla mantissa.E tuttavia opportuno ricordare che si sta affermando come unostandard di fatto la scelta di fare ricorso alla rappresentazione inModulo e segno.

3.5.5 Valori attribuiti ai parametri

La rappresentazione

X =nm∑

i=1

dir−iM ·R

nm∑

j=0

cj · rjE

Page 49: DISMA Dipartimento di Scienze Matematiche "Giuseppe Luigi ...calvino.polito.it/~lepora/pl.pdfIndice 1 I RAPPRESENTAZIONE DEI NUMERI 1 1.1 Introduzione . . . . . . . . . . . . . . .

46 CAPITOLO 3. ARITMETICA FRAZIONARIA

non e completamente definita se non vengono assegnati opportunivalori a tutti i paramentri del sistema

Vediamo insieme alcune scelte progettuali legate ad alcuni dei piufamosi sistemi di elaborazione di dati.

Tipo di n. tot. nE nm rM rE R mant.elab. di bit

Ibm - 7090 36 8 27 2 2 16 MSCDC 6600 58 10 47 2 2 2 MS

CDC 6/7000 60 11 48 2 2 2 MSPDP11 sing. 32 8 23 2 2 2 MSVAX11 sing. 32 8 23 2 2 2 MSVAX11 doub. 64 8 55 2 2 2 MSVAX11 quad. 128 15 112 2 2 2 MSIBM 370 long 64 7 56 2 2 16 MSUnivac 1100 32 11 20 2 2 2 Cpl-1HP 21 MX 48 8 39 2 2 2 Pol7

Cpl-2HP 15 TASC. 56 16 39 10 10 10 Bcd

Page 50: DISMA Dipartimento di Scienze Matematiche "Giuseppe Luigi ...calvino.polito.it/~lepora/pl.pdfIndice 1 I RAPPRESENTAZIONE DEI NUMERI 1 1.1 Introduzione . . . . . . . . . . . . . . .

3.5. PARAMETRI IN UN SISTEMA VIRGOLA MOBILE 47

Elab. Num. Numero Radice Rappr.di bit bit dellatotale esp. manti.

PDP11 32 8 2 MS(single) p=27 MSVAX11 64 8 2 MSdouble p = 27

VAX11 128 15 2 MSquad. p = 215

IBM 370 64 7 16 MSlong. p = 26

Univac1100 32 11 2 cpl.double a1

HP 21 MX 48 8 2 cpl.extended p = 27 a 2

AMD 9511 48 8 2 cpl.single p = 27 − 1HP 15 56 16 10 MStascab. compl. a 10CDC 11 cpl.

6/7000 60 Ev + 210 se ≥ 0 2 a 1Ev + 210− 1 se < 0

80x87 Intel 32 8 2 MSshort p = 27 − 1

Page 51: DISMA Dipartimento di Scienze Matematiche "Giuseppe Luigi ...calvino.polito.it/~lepora/pl.pdfIndice 1 I RAPPRESENTAZIONE DEI NUMERI 1 1.1 Introduzione . . . . . . . . . . . . . . .

48 CAPITOLO 3. ARITMETICA FRAZIONARIA

Esaminiamo ora, con maggior dettaglio il sistema VAX11 . Ques-ta famiglia di sistemi, prodotti dalla Digital (Casa ormai scom-parsa, acquistata da Compaq... a sua volta ormai scomparsa, ac-quistata da Hewelett-Packard) e strutturata per operare in virgolamobile con 4 tipi differenti di formato:

Fformat 4Byte nE = 8 nm = 23Dformat 8Byte nE = 8 nm = 55Gformat 8Byte nE = 11 nm = 52Hformat 16Byte nE = 15 nm = 112

N = (−1)s · 0.1M · 2(E−2(nE−1))

F D G H

NGP ≡ 1.7 · 1038 ≡ 0.9 · 1038 0.610308 0.6104932

NLP 0.29 · 10−38 0.29 · 10−38 0.610−308 0.610−4932

NGNNLN

ε 2−2310−7 2−5510−16 2−5210−15 2−122 = 10−33

I gradi di liberta del sistema FP, come si evince con facilita siadalla trattazione teorica, sia dalle tabelle precedenti, non solosono realmente moltissimi, ma sono stati usati dai vari produttoridi Hardware, come un metodo di contro-standardizzazione.Sarebbe quindi estremamente auspicabile una definizione, inter-nazionalmente accettata di alcuni valori e/o parametri standard.

Page 52: DISMA Dipartimento di Scienze Matematiche "Giuseppe Luigi ...calvino.polito.it/~lepora/pl.pdfIndice 1 I RAPPRESENTAZIONE DEI NUMERI 1 1.1 Introduzione . . . . . . . . . . . . . . .

3.5. PARAMETRI IN UN SISTEMA VIRGOLA MOBILE 49

3.5.6 Formato IEEE

L’Institut of Electrical and Electronic Engineering (IEEE) haproposto nel 1982 una normativa. Due formati base:

singolaprecisione (32 bit)doppiaprecisione (64 bit)

Due formati opzionali:

single precision extended

double precision extended

S E8 M23

S E11 M52

Double ext. s, 15, 64

SEMPLICE DOPPIA ESTESAtnt 32 64 80nm 23∗ 52∗ 64∗nE 8 11 15εps 2−23 2−52 2−63

∗23 + 1 (hidden hit)∗ ∗ 52 + 1 (hidden hit)∗ ∗ ∗64 (no hidden hit)

MAX POS 2128 21024 216384

MIN POS 2126 21022 216383

Page 53: DISMA Dipartimento di Scienze Matematiche "Giuseppe Luigi ...calvino.polito.it/~lepora/pl.pdfIndice 1 I RAPPRESENTAZIONE DEI NUMERI 1 1.1 Introduzione . . . . . . . . . . . . . . .

50 CAPITOLO 3. ARITMETICA FRAZIONARIA

Lo standard IEEE-754 prevede:

(a) Mantissa normalizzata nel modo seguente: 1 ≤ M < 2

(b) Esponente polarizzato P = 2nE−1 − 1

N = (−1)11.M · 2(Ep−P )

Sulla base delle precedenti ipotesi, si deduce facilmente che

• L’esponente polarizzato teorico sara compreso nel seguenteintervallo: 0 ≤ Ep ≤ 2nE − 1

• : L’esponente vero teorico, tenendo conto del valore dell’e-sponente polarizzato, sara: 0− (2nE−1−1) ≤ Ev ≤ 2nE −1−(2nE−1 − 1)

Lo standard IEEE-754 prevede inoltre che, per motivi specialivengano esclusi i valori agli estremi e pertanto

• L’esponente vero potra assumere pertanto, i seguenti valori:(2nE−1 − 1

)+ 1 ≤ Ev ≤ 2nE − 2nE−1 − 1

L’intervallo di rappresentazione diventa di conseguenza

Mmin · 2(2nE−1−1) ≤ N < Mmax · 2(2nE−1−1)

e quindi1 · 2(2nE−1−1) ≤ N < 2 · 2(2nE−1−1)

Casi speciali

Ricordando che per i numeri positivi si ha : N = (−1)2 ·M ·RE,si potra affermare che se M = 0 ⇒ N = 0. La cosa e vera sia cheE = 0 sia per E 6= 0. Nel secondo caso, tuttavia si dira che si e inpresenza di uno Zero sporco. Esaminiamo quindi compiutamentele possibili configurazioni alla luce della precedente osservazionee tenendo conto della esclusione dei valori estremi dell’intervallooperata dallo standard IEEE-754.

Si possono riconoscere i seguenti casi:

Page 54: DISMA Dipartimento di Scienze Matematiche "Giuseppe Luigi ...calvino.polito.it/~lepora/pl.pdfIndice 1 I RAPPRESENTAZIONE DEI NUMERI 1 1.1 Introduzione . . . . . . . . . . . . . . .

3.5. PARAMETRI IN UN SISTEMA VIRGOLA MOBILE 51

M E S

0 0 0 ZERO +0 0 1 ZERO −6= 0 6= 0 0 N > 06= 0 6= 0 1 N < 00 2NE − 1 − +∞6= 0 2NE − 1 − NAN

6= 0 0 NON NORMALIZZATO

rM = 2, rE = 2, ed r = 2

Mantisse sono normalizzate.

Hidden hit

Esponente in forma polarizzata con costante di polarizzazioneP = 2nE−1 − 1

il valore del numero N nella rappresentazione IEEE 754 e datodalla

N = (−1)2 · 1.M · 2(E−p)

mentre nel caso classico si avrebbe:

N = (−1)1 · 0.M · 2(E−p)

(equivale a compiere uno shift a sinsitra di 1 bit)

Page 55: DISMA Dipartimento di Scienze Matematiche "Giuseppe Luigi ...calvino.polito.it/~lepora/pl.pdfIndice 1 I RAPPRESENTAZIONE DEI NUMERI 1 1.1 Introduzione . . . . . . . . . . . . . . .

52 CAPITOLO 3. ARITMETICA FRAZIONARIA

3.6 Operazioni tra due numeri

3.6.1 Somma tra due numeri interi

N1 N2 Interi

N1 =n−1∑

i=0

d1,i · ri N2 =m−1∑

i=0

d2,i · ri

Non e limitativo supporre m = n. Se cosi non fosse, si dovrennoesaminare i 2 casi seguenti:

se m > n bastera porre d1,i = 0 ∀ n− 1 < i < m. In questocaso anche N1 sara costituito da m cifre.

se m < n si porra d2,i = 0 ∀ m−1 < i < n ed in questo casoanche N2 sara costituito da n cifre.

N1 = d1,n−1rn−1 + . . . d1,2 · r2 + d1,1r

1 + d1,0

N2 = d2,n−1rn−1 + . . . d2,2 · r2 + d2,1r

1 + d2,0

N1+N2 = (d1,n−1 + d2,n−1) rn−1+. . .+(d1,1 + d2,1)·r+d1,0+d2,0

Se potessimo garantire

0 ≤ d1,i + d2,i < r − 1

Allora potremmo concludere facilmente

N1 + N2 = (d1,n−1 + d2,n−1) (d1,n−2 + d2,n−2) + . . . + (d1,0 + d2,0)

Purtroppo, per quanto riguarda d1,i + d2,i le cose non stanno cosı

ricordano infatti che

0 ≤ d1,i ≤ r − 1 e 0 ≤ d2,i ≤ r − 1

si puo solo concludere che

0 ≤ d1,i + d2,1 ≤ 2(r − 1)

esaminiamo i due casi

Page 56: DISMA Dipartimento di Scienze Matematiche "Giuseppe Luigi ...calvino.polito.it/~lepora/pl.pdfIndice 1 I RAPPRESENTAZIONE DEI NUMERI 1 1.1 Introduzione . . . . . . . . . . . . . . .

3.6. OPERAZIONI TRA DUE NUMERI 53

A) 0 ≤ d1,i + d2,i ≤ (r− 1) ed in questo caso, ovviamente non visono problemi.

B) r ≤ d1,i + d2,i ≤ 2(r − 1)

in tal caso pongo d1,i + d2,1 = (r + d∗i )

per cui

0 ≤ d∗i ≤ r − 1

in tal caso

+ . . . + (d1,i+1 + d2,1+1) ri+1 + (d1,i + d2,1) ri =. . . (d1,i+1 + d2,1+1) ri+1 + (r + d∗i ) · ri + . . .

(d1,i+1 + d2,1+1) ri+1 + d∗i · ri + . . .

L’aver postod1,i + d2,i . . . = (r + d∗i )

permettere di assicurare che, in ogni caso, 0 ≤ d∗i ≤ r − 1 comerichiesto. Ci si dovra pero ricordare che il valore della cifra diposto i + 1 dovra essere incrementato di una unita.

La cifra che viene sommata alla cifra di posto i+1 prende il nomedi riporto.

La discussione si puo dire conclusa salvo l’esame del caso con

riporto

d1,i + d2,i + 1

anche in questo caso si avra

0 < d1,i + d2,i + 1 ≤ 2r − 1

e quindi si ricade nel caso gia esaminato.

3.6.2 Differenza tra due numeri interi

Per quanto riguarda la differenza, senza ripetere quanto gia os-servato, si puo dire

N1 =n−1∑

i=0

d1,iri N2 =

n−1∑

i=0

d2,iri

Page 57: DISMA Dipartimento di Scienze Matematiche "Giuseppe Luigi ...calvino.polito.it/~lepora/pl.pdfIndice 1 I RAPPRESENTAZIONE DEI NUMERI 1 1.1 Introduzione . . . . . . . . . . . . . . .

54 CAPITOLO 3. ARITMETICA FRAZIONARIA

N1 −N2 =N1 = d1,n−1r

n−1 + d1,n−2rn−2 + . . . + d1,1r + d1,0

N2 = d2,n−1rn−1 + d2,n−2r

n−2 + . . . + d2,1r + d2,0

N1 −N2 = (d1,n−1 + d2,n−1) rn−1+. . . + (d1,0 − d2,0)

=∑n−1

i=0

(d1,i − d2,i·i

)

N1 −N2 =n−1∑

i=0

(d1,i − d2,i) · ri

Anche in questo caso, e necessario mostrare che

0 ≤ d1,i − d2,i ≤ r − 1

Nel caso in cui d1,i ≥ d2,i la condizione soprariportata e dimostra-ta.

Nel caso invece d1,i < d2,i si opera nel modo seguente

+ . . . + (d1,i+1 − d2,1+1) ri+1 + (d1,i − d2,1) ri + . . . +. . . (d1,i+1 − d2,1+1) + (r + d1,i − d2,i) ri + . . . +

in tal caso, e vero che d1,i < d2,i ma e pure vero che

r + d1,i > d2,i

e pertanto la δ e determinata.

Il resto della dimostrazione continua in perfetta analogia allaprecedente.

Resta da verificare per completezza che

δ∗ 0 ≤ d1,i − d2,i − 1 ≤ r − 1

Bastera osservare che la

r + d1,i > d2,1 + 1 in quanto 0 ≤ d2,i ≤ r − i

e pertanto 0 ≤ r + d1,i − d2,i − 1 ≤ r − 1che e quanto ?? .

Page 58: DISMA Dipartimento di Scienze Matematiche "Giuseppe Luigi ...calvino.polito.it/~lepora/pl.pdfIndice 1 I RAPPRESENTAZIONE DEI NUMERI 1 1.1 Introduzione . . . . . . . . . . . . . . .

3.6. OPERAZIONI TRA DUE NUMERI 55

3.6.3 Carry (riporto) e Borrow (prestito)

L’operazione di spostamento di una quantita pari a R dalla cifradi posto i verso la cifra di posto i + 1 viene detta Carry

L’operazione di spostamento di una quantita pari a R dalla cifradi posto i + 1 verso la cifra di posto i viene detta Borrow

in entrambe le situazioni si opera da LSD verso MSD

Purtroppo la tecnica non e esente da complicazioni: per trattarecorrettamente i casi con complicazioni e necessario operare qualchedistinzione

operazioni su interi senza segno

operazioni su interi con segno

E opportuno ricordare che si opera in aritmetica modulo n, suregistri con n cifre

n = 4 R = 8

N1 = 4451 N2 = 4127

Se calcolo la somma N1 + N2 avro

4 3 2 1 0

4 4 5 1 +4 1 2 7

1 0 6 0 0

ce stato carry nelle colonne: 0, 1, 3 cio ha generato una sommadi 1 nelle colonne 1, 2, 4. Purtroppo pero la colonna 4 non esiste:il risultato supera la capacita dei registri

In tale situazione si ha una situazione detta di Overflow o Tracimazione

Page 59: DISMA Dipartimento di Scienze Matematiche "Giuseppe Luigi ...calvino.polito.it/~lepora/pl.pdfIndice 1 I RAPPRESENTAZIONE DEI NUMERI 1 1.1 Introduzione . . . . . . . . . . . . . . .

56 CAPITOLO 3. ARITMETICA FRAZIONARIA

Al termine di una operazione di somma e opportuno verificare sel’operazione sulla cifra di posto n−1 ha generato carry in tal casoil risultato non e corretto.

Per la sottrazione ci si ritrova in una situazione analoga.

Nel caso ci sia stata una operazione di borrow per la cifra di poston− 1.

Se, con le regole viste per l’algebra booleana cerchiamo di definirela somma diremo, posto A = B1 + B2

B1 =n−1∑

i=0

d1,i2i B2 =n−1∑

i=0

d2,i2i

per quanto riguarda il bit i si avra

b1,i + b2,i ⇒ ai = b1,i + b2,i

bi bi carry1 2

0 0 0 00 1 1 01 0 1 01 1 0 1

oltre alla ai = b1,i + b2,i si avra

carry = b1,i · b2,i

per la somma, quindi, si deve tenere conto anche del bit di carryche proviene dalla posizione i− 1.

La tabella vista precedentemente diventa

Page 60: DISMA Dipartimento di Scienze Matematiche "Giuseppe Luigi ...calvino.polito.it/~lepora/pl.pdfIndice 1 I RAPPRESENTAZIONE DEI NUMERI 1 1.1 Introduzione . . . . . . . . . . . . . . .

3.6. OPERAZIONI TRA DUE NUMERI 57

b1,i b2,i carry,i−1 ai carry,i

0 0 0 0 00 0 1 1 00 1 0 1 00 1 1 0 11 0 0 1 01 0 1 0 11 1 0 0 11 1 1 1 1

e quindi

ai = b1,i + b2,i + carryi−1

Carryi = b1,i · b2,i + carryi−1 · (b1,i + b2,i)

3.6.4 Moltiplicazione tra due numeri

Sono stati sviluppati diversi algoritmi

Vediamo l’algoritmo detto della somma e scorrimento. Sia:

N1 =n−1∑

i=0

diri

e

N2 =m−1∑

i=0

ejrj

N1 ·N2 =∑m−1

j=0 ej · rj ·X == em−1 · rm−1 ·X + em−2 · rm−2 ·X++ e2 · r2 ·X + e1 · r1 ·X + e0 · r0 ·X

Page 61: DISMA Dipartimento di Scienze Matematiche "Giuseppe Luigi ...calvino.polito.it/~lepora/pl.pdfIndice 1 I RAPPRESENTAZIONE DEI NUMERI 1 1.1 Introduzione . . . . . . . . . . . . . . .

58 CAPITOLO 3. ARITMETICA FRAZIONARIA

es.128 · 53 = 128·53

384 ← e0 · 1 ·X6400 ← e1 · 10 ·X6784

L’algoritmo trasforma una moltiplicazione in:

A) Moltiplicazioni piu semplici

B) Scorrimento verso sinistra

C) Somma

si noti ancora che A) puo essere vista come una serie di somme.

c0r0 ·X = equivale a sommare per c0 volte X

eiri : ci ·X ⇒ somma ei volte x ri · [eix] ⇒ scorrimento di i posti

a sinistra. Shift-left.

Che cosa accade se si opera con la somma/sottrazione su 2 numerirelativi.

A Modulo e sogno. Chiamo s il segno di N1 + N2 chiamo S1 ilsegno di N1 ed s2 il segno di N2

N1 −N2

1 se S1 s2 s N1 + N2

0 0 0 |N1|+ |N2|1 1 1 |N1|+ |N2|0 1 0 |N1| − |N2| |N1| > |N2|

1 |N2| − |N1| |N2| > |N1|1 0 1 |N1| − |N2| |N1| > |N2|

0 |N2| − |N1| |N2| > |N1|

Le operazioni avvengono solo tra numeri ≥ 0 e quindi valgono leregole gia viste.

Page 62: DISMA Dipartimento di Scienze Matematiche "Giuseppe Luigi ...calvino.polito.it/~lepora/pl.pdfIndice 1 I RAPPRESENTAZIONE DEI NUMERI 1 1.1 Introduzione . . . . . . . . . . . . . . .

3.6. OPERAZIONI TRA DUE NUMERI 59

B) Complemento alla base

N = N1 −N2 = N1 + N2

com’e ovvio operazioni di somma o di sottrazione possono, anchein questo caso dare risultati che non appartengono ai numeri rap-presentati con n cifre. In questi casi ci si trova in una situazionedi overflow.

La struttura di questi numeri utilizza la posizioni n − 1 (la n-esima cifra) per il segno: se N1 > 0 e N2 > 0 la loro sommapuo dare luogo ad un valore 1 nella posizione n− 1 e non da maicarry ma 1 in posizione n − 1 indica che N1 + N2 < 0 il che eimpossibile. Per contro, se N1 < 0 e N2 < 0 N1 + N2 puo dareluogo ad un valore 0 nella posizione n−1 e da sempre, comunqueil carri, ma, in relata non sempre N1 + N2 da trasformazioni.Si puo solamente concludere che il carry non e sufficiente a dareindicazioni circa lo stato di tracimazione. I casi sono i seguenti:

Somma

N1 N2 CARRY OVERFLOW

> 0 > 0 MAI dipende< 0 < 0 SEMPRE dipende

< 0 > 0 dipende MAI> 0 < 0 dipende MAI

Le sole informazioni contenute nella tabella precedente non ciconsentono di definire tutti i possibili casi. E necessario studiareil carry non solo nella posizione n − 1 ma anche nella posizionen− 2

Page 63: DISMA Dipartimento di Scienze Matematiche "Giuseppe Luigi ...calvino.polito.it/~lepora/pl.pdfIndice 1 I RAPPRESENTAZIONE DEI NUMERI 1 1.1 Introduzione . . . . . . . . . . . . . . .

60 CAPITOLO 3. ARITMETICA FRAZIONARIA

CARRYn−1 CARRYn−2 OVERFLOW

0 0 NO0 1 SI1 0 SI1 1 NO

Possiamo quindi cooncludere che la situazione di Overflow cor-risponde a quei casi in cui il carry di posizione n − 1 e diversodal valore del carry di posizione n− 2 e cioe Cn−1 6= Cn−2

3.6.5 Operazioni di somma e sottrazione

Ci occupiamo ora delle operazioni di somma con numeri rappre-sentati in virgola mobile. Sia:

N1 = M1 ·RE1 e N2 = M2 ·RE2

vogliamo studiare N1 + N2 =

N = M1 ·RE1 + M2 ·RE2

Il metodo consiste nel modificare M fino a rendere gli esponentiE1 ed E2 uguali, a questo punto si puo operare la somma dellemantisse.

Si danno alcuni casi:

1) E1 > E2 allora si incrementera E2 del valore (E1 − E2) econtemporaneamente si fara scorrere la virgola a sinistra di (E1−E2) posti per M2

N = M1 ·RE1 + M2 ·R−(E1−E2) ·RE2 ·R+(E1+E2) == M1 ·RE1 + M2 ·R−(E1−E2) ·RE2 ·RE1 ·R−E2) ==

[M1 + M2R

−(E1−E2)]·RE1

Spostare la virgola a sinistra di E1 −E2 posti per M2

Page 64: DISMA Dipartimento di Scienze Matematiche "Giuseppe Luigi ...calvino.polito.it/~lepora/pl.pdfIndice 1 I RAPPRESENTAZIONE DEI NUMERI 1 1.1 Introduzione . . . . . . . . . . . . . . .

3.6. OPERAZIONI TRA DUE NUMERI 61

2) E2 > E1

allora

N = M1 ·RE1 ·R−(E2−E1) ·RE2 ·R+(E2−E1) + M2 ·RE2

= M1 ·RE1 ·R−(E2−E1) ·RE2 ·R−E1

+ M2RE2

(M1 ·R−(E2−E1) + M2

)RE2

equivale a spostare la virgola a sinistra di E2 −E1 posti per M2

L’operazione di spostamento del punto decimale verso sinistraconsiste, nella aritmetica modulo n a far scorrere verso destratutte le cifre della mantissa. Lo spostamento di k posti a sinis-tra della virgola significa lo scorrimento a destra di k cifre. Lecifre d0, d1, d2 . . . dk−1 scompariranno ed il loro posto sara occu-pato rispettivamente dalle dk, dk+1, dk+2 . . . inoltre, k cifre = 0andranno ad occupare lw posizioni dn−1, dn−2, dn−k.

Si osserva immediatamente che per ogni operazione di sommache usi 2 numeri con esponenti diversi, si ha una perdita diinformazione. Tale perdita inoltre e proporzionale al |E1 − E2|.

Page 65: DISMA Dipartimento di Scienze Matematiche "Giuseppe Luigi ...calvino.polito.it/~lepora/pl.pdfIndice 1 I RAPPRESENTAZIONE DEI NUMERI 1 1.1 Introduzione . . . . . . . . . . . . . . .

62 CAPITOLO 3. ARITMETICA FRAZIONARIA

3.6.6 interruttore parallelo

—–

3.6.7 decoder

—–

Page 66: DISMA Dipartimento di Scienze Matematiche "Giuseppe Luigi ...calvino.polito.it/~lepora/pl.pdfIndice 1 I RAPPRESENTAZIONE DEI NUMERI 1 1.1 Introduzione . . . . . . . . . . . . . . .

3.6. OPERAZIONI TRA DUE NUMERI 63

3.6.8 Flip-Flop RS

—-

3.6.9 Flip-Flop JK

—-

Page 67: DISMA Dipartimento di Scienze Matematiche "Giuseppe Luigi ...calvino.polito.it/~lepora/pl.pdfIndice 1 I RAPPRESENTAZIONE DEI NUMERI 1 1.1 Introduzione . . . . . . . . . . . . . . .

64 CAPITOLO 3. ARITMETICA FRAZIONARIA

3.6.10 Rugistro

—-

3.6.11 Half Adder

Un circuito sommatore puo essere schematizzato nel seguente modo

Page 68: DISMA Dipartimento di Scienze Matematiche "Giuseppe Luigi ...calvino.polito.it/~lepora/pl.pdfIndice 1 I RAPPRESENTAZIONE DEI NUMERI 1 1.1 Introduzione . . . . . . . . . . . . . . .

3.6. OPERAZIONI TRA DUE NUMERI 65

Purtroppo, un sommatore a 2 ingressi non e sufficiente in quanto enecessario tener conto del carry

3.6.12 Full Adder

—–

3.6.13 Sommatore Parallelo

—–

Page 69: DISMA Dipartimento di Scienze Matematiche "Giuseppe Luigi ...calvino.polito.it/~lepora/pl.pdfIndice 1 I RAPPRESENTAZIONE DEI NUMERI 1 1.1 Introduzione . . . . . . . . . . . . . . .

66 CAPITOLO 3. ARITMETICA FRAZIONARIA

3.6.14 Sommatore Seriale

—-