La rappresentazione delle informazioni in un computer (quarta parte)

Page 1

La numerazione ottale


Il sistema di numerazione ottale ha ampio utilizzo in informatica  E’ un sistema di numerazione posizionale  La base è 8  Il sistema utilizza dunque otto cifre {0, 1, 2, 3, 4, 5, 6, 7}  Si ricorda infatti che il numero di cifre utilizzate è proprio pari alla base del sistema di numerazione 


Un numero in base 8 non potrà dunque contenere cifre superiori a 7  Ad esempio è impossibile avere 

◦ 389(8) ◦ 478(8) Mentre è possibile avere ◦ 547(8)


Per convertire un numero in base 8 in un numero in base 10 si utilizza sempre il metodo dei pesi: ogni cifra ha un peso che si ottiene da una potenza che ha per base 8 e per esponente la posizione della cifra nel numero  La posizione si calcola contando dall’ultima cifra di destra che ha posizione 0 e procedendo verso sinistra 


Consideriamo, ad esempio, il numero

◦4537(8)

Il 4 si trova in posizione 3, il 5 si trova in posizione 2, il 3 si trova in posizione 1, il 7 si trova in posizione 0  Il 4 va moltiplicato per un peso pari a 83  Il 5 va moltiplicato per un peso pari a 82 


Il 3 va moltiplicato per un peso pari a 81  Il 7 va moltiplicato per un peso pari a 80  Abbiamo dunque che 4537(8) = = 4 X 83 + 5 X 8 2 + 3 X 8 1 + 7 X 8 0 = = 4 X 512 + 5 X 64 + 3 X 8 + 7 = = 2048 + 320 + 24 + 7 = = 2399(10) 


Passaggio da base 10 a base 8 Il metodo delle divisioni successive utilizzato per passare da base 10 a base 2 conserva la sua validitĂ , soltanto che stavolta, essendo la base 8 e non 2 , bisogna dividere per 8 anzichĂŠ per 2 ď‚— Supponiamo di voler convertire 1248(10) in base 8 ď‚—


Se dividiamo 1248 per 8 otteniamo quoziente 156 e resto 0  Dividendo 156 per 8 otteniamo quoziente pari a 19 con resto 4  Dividendo 19 per 8 otteniamo 2 con resto 3  Dividendo 2 per 8 otteniamo quoziente 0 e resto 2 


1248

0 156 4 19 3 2 2 0


Quindi

1248(10)

= 2340(8)


Da ottale a binario e viceversa Vediamo ora come si passa dal binario all’ottale  Si considera il numero binario e. partendo da destra si divide in gruppi di 3 cifre binarie. Se dopo l'operazione avanzano una o due cifre si aggiungono tanti zeri quanti bastano a coprire un gruppo di tre,  Ogni gruppo va poi convertito nel corrispondente numero decimale. 


Esempio 

11010011012 = = 001 | 101 | 001 | 101= = 15158


Cerchiamo di spiegare perché funziona Sviluppiamo anzitutto il numero binario  11010011012 = 1 X 29 + 1 X 28 + 0 X 27 + 1 X 26 + 0 X 2 5 + 0 X 2 4 + 1 X 2 3 + + 1 X 2 2 + 0 X 21 + 1 X 20 =  vogliamo ora trasformare le potenze per mettere in evidenza potenze di 8  Ad esempio 29 = (23)3 = 83  28 = 22 X 26 = 22 X (23)2 = 22 X 82  27 = 21 X 26 = 21 X (23)2 = 21 X 82 


 26  25  24  23  22  21  20 

= 20 = 22 = 21 = 20 = 22 = 21 = 20

X 26 = 20 X (23)2 = 1 X 82 X 23 = 2 2 X 81 X 23 = 2 1 X 81 X 23 = 2 0 X 81 X 20 = 2 2 X 1 = 2 2 X 8 0 X 20 = 2 1 X 1 = 2 1 X 8 0 X 20 = 2 0 X 1 = 2 0 X 8 0


quindi 11010011012 = 1 X 29 + 1 X 28 + 0 X 27 + 1 X 26 + 0 X 2 5 + 0 X 2 4 + 1 X 2 3 + + 1 X 2 2 + 0 X 21 + 1 X 20 =  = 1 X 8 3 + 1 X 2 2 X 8 2 + 0 X 2 1 X 82 + 1 X 20 X 8 2 + 0 X 2 2 X 8 1 + 0 X 2 1 X 81 + 1 X 2 0 X 81 + + 1 X 2 2 X 8 0 + 0 X 2 1 X 8 0 + 1 X 2 0 X 80 


Ora mettiamo le potenze di 8 in evidenza 11010011012 = 1 X 83 + 1 X 22 X 82 + 0 X 21 X 82 + 1 X 20 X 82 + 0 X 22 X 81 + 0 X 21 X 81 + 1 X 20 X 81 +  + 1 X 2 2 + 0 X 2 1 + 1 X 2 0 = 1 X 83 + + (1 X 22 + 0 X 21 + 1 X 20 ) X 82 + + (0 X 22 + 0 X 21 + 1 X 20 ) X 81 + + (1 X 22 + 0 X 21 + 1 X 20 ) X 80 = = 1 X 83 + 5 X 82 + 1 X 81 + 5 X 80 


Ma questo è proprio il risultato che avevamo ottenuto direttamente 

Dunque se partendo da destra organizziamo i bit in gruppi di tre possiamo mettere in evidenza delle potenze di 23 cioè di 8 mentre quello che rimane fra parentesi dopo aver messo in evidenza queste potenze di 8 è proprio il valore che avrebbe il gruppo di tre bit se fosse isolato e non all’interno del numero originale


Ora sappiamo a che servono i numeri in base otto Rendono molto piĂš sintetica la rappresentazione di stringhe di bit molto lunghe ď‚— 111000101010101010111101111101012 = 342525367658 ď‚—


Conversione da ottale a binario ď‚—

Per quello che abbiamo appena mostrato appare chiaro che la conversione da ottale a binario deve avvenire in maniera diametralmente opposta: ogni cifra del numero in base otto va convertita in un gruppo di tre bit


esempio 2521437748 = = 010 101 010 001 100 011 111 111 1002  3425675478 = = 011 100 010 101 110 111 101 100 1112 


Aritmetica in base otto 

Si ribadisce ancora una volta che il cambiamento di base non modifica le leggi della matematica per cui, ad esempio, l’algoritmo per l’esecuzione della somma è identico a quello visto in base 10 ed in base 2


Vediamo ad esempio la somma ď‚—

Supponiamo di dover eseguire la seguente somma fra numeri ottali

42568 + 37348


Se sommiamo le due cifre meno significative otteniamo

6 

+ 4 = 10

Questo numero in ottale si scrive

1010 = 128


infatti

128

= 1 X 8 + 2 = 10  allora si deve scrivere la seconda cifra cioè 2 e si riporta 1


Dunque

1

42568 + 37348 = 2


Se sommiamo le due cifre successive e il riporto generato dalle cifre precedenti otteniamo

5 

+3+1=9

Questo numero in ottale si scrive

 910

= 118


infatti

118

=1X8+1=9  allora si deve scrivere la seconda cifra cioè 1 e si riporta 1


Dunque

1

42568 + 37348 = 12


Se sommiamo le due cifre successive e il riporto generato dalle cifre precedenti otteniamo

2 

+ 7 + 1 = 10

Questo numero in ottale si scrive

1010 = 128


infatti

128

= 1 X 8 + 2 = 10  allora si deve scrivere la seconda cifra cioè 2 e si riporta 1


Dunque

1

42568 + 37348 = 212


Se sommiamo le due cifre successive e il riporto generato dalle cifre precedenti otteniamo

4 

+3+1=8

Questo numero in ottale si scrive

 810

= 108


infatti

108

=1X8+0=8  allora si deve scrivere la seconda cifra cioè 0 e si riporta 1


Dunque

42568 + 37348 = 102128 8


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.