RAPPRESENTAZIONI NUMERICHE NEL COMPUTER

CONVERSIONI

r

Nella conversione, il processo che ci permette di convertire un numero in un’altra base qualsiasi, l’ultima cifra da destra equivale alle unità, la seconda alle decine e così via.

da base b a base 10

da base b a base 10

r

Per svolgere una conversione da base 2 a base 10 si usa la forma polinomia, cioè la sommatoria di ciascuna cifra moltiplicata per la base elevata alla sua posizione.Ad esempio:(1011)₂=1x2º+1x2¹+0x2²+1x2³=(11)₁₀

da base 10 a base b

da base 10 a base b

r

Per convertire invece, da base 10 a base 2, si utilizza il metodo delle divisioni successive:(137)₁₀= (10001001)₂    Per scrivere il risultato, si inizia a leggere da sotto e si scrivono le cifre da sinistra a destra.

con le tabelle

con le tabelle

r

Per convertire un numero in base 2 in uno in base 8 o 16 utilizzeremmo delle conversioni indirette, cioè passare dalla base 2 alla base 10 per poi arrivare alle base 8 o 16. C’è però un metodo più veloce, utilizzare le conversioni con le tabelle. Questo metodo si serve di due tabelle, quella per la base 8 e quella per la base 16:La tabella per la base 8 si costruisce scrivendo le cifre da 0 a 7 in verticale e, partendo dall’ultima colonna a destra, alternare l’1 allo 0, raddoppiando le cifre andando verso la colonna sinistra.La tabella per la base 16, invece, si costruisce scrivendo le cifre da 0 a 9 e le lettere da A a F in verticale, e usando poi lo stesso procedimento usato per la tabella precedente.Esempio di conversione in base 8:(100110)₂=(46)₈    perchè 110=6e 100=4.Esempio di conversione in base 16:(1101110110)₂=(376)₁₆perchè 0110=6,0111=7e 0011=3. (le cifre in rosso sono aggiunte in modo da poter fare la conversione, quindi arrivare a 4 cifre).Abbiamo quindi preso tre cifre partendo da sinistra per la base 8 e quattro per la base 16.

RAPPRESENTAZIONI PER NUMERI RELATIVI

MODULO E SEGNO

r

La rappresentazione in modulo e segno si svolge partendo dalla conversione: in questo caso -90 diventa (1011010) in binario.Essendo però un numero negativo e dovendo raggiungere 8 bit, la rappresentazione finale in modulo e segno di -90 diventa: 11011010. La cifra in rosso rappresenta il meno, infatti questo segno viene rappresentato appunto con l’1, mentre il + con lo 0.

COMPLEMENTO A 2

r

La rappresentazione in complemento a 2, invece, rimane invariata se dobbiamo convertire un numero positivo, quindi rimarrebbe la stessa usando il MS, mentre se bisogna rappresentare un numero negativo il discorso diventa un po’ più articolato; prendiamo ad esempio -102, facciamo la conversione in binario e troviamo (1100110). Adesso la conversione in MS  del numero positivo sarebbe 01100110: queste cifre vanno adesso invertite, trovando il numero in complemento a uno, quindi 10011001. Questo numero va adesso sommato a 1, trovando quindi 10011010. La trasformazione in complemento a due è completata.

SISTEMI DI NUMERAZIONE

posizionali

posizionali

r

I sistemi posizionali sono: il sistema decimale, ottale, binario, esadecimale,ecc.

non posizionali

non posizionali

r

Il sistema non posizionale principale è quello dei numeri romani.

RAPPRESENTAZIONI PER NUMERI REALI

r

Le due rappresentazioni possibili per i numeri reali sono in VIRGOLA FISSA(fixed point) e in VIRGOLA MOBILE(floating point).

VIRGOLA FISSA

VIRGOLA FISSA

r

La rappresentazione in virgola fissa richiede un formato di 16 bit: 1 per il segno, 7 per la parte intera e 8 per la parte decimale. Partendo dal numero -36,625, svolgiamo la conversione in binario della parte intera, ottenendo (100100) e in seguito, utilizzando il metodo delle moltiplicazioni successive, moltiplichiamo la parte decimale fino a trovare un numero intero:0,625x                         2       =   Le cifre in rosso vengono tolte dalla moltiplicazione e messe nella rappresentazione finale1,25020,50021,000La rappresentazione finale è quindi:1010010010100000Con il primo 1 che indica il segno, le successive 7 cifre la parte intera(lo 0 in rosso per completare i 7 bit) e le altre 8 per la parte decimale(gli ultimi 5 zeri in rosso per completare gli 8 bit).

VIRGOLA MOBILE

VIRGOLA MOBILE

r

Passiamo invece alla conversione in virgola mobile che si serve di 32 bit.Partiamo dal numero +43,6875. Come sempre facciamo la conversione della parte intera, ottenendo 101011, e della parte decimale:0,6875x21,3750  Anche in questo le cifre intere vanno poi usate nella rappresentazione finale.20,75021,50023,000Mettendo quindi insieme la parte intera e quella decimale, otteniamo 101011,1011.A questo punto dobbiamo NORMALIZZARE, cioè portare la virgola fino alla prima cifra a sinistra, quindi 1,010111011x2⁵(alla quinta perchè abbiamo spostato la virgola di 5 posizioni).Le cifre dopo la virgola fanno parte della MANTISSA. Ora dobbiamo POLARIZZARE: il 5 viene sommato a 127(BIAS),ottenendo 132. Questo numero viene convertito in binario, ottenendo 10000100, che forma l’ESPONENTE.Possiamo quindi procedere a rappresentare in virgola mobile:010000100010111011000000000000000con lo 0 in blu che indica il segno, la parte in verde che indica l’esponente, la parte in giallo che indica la prima parte della mantissa e i restanti 0 in rosso che completano la mantissa.