Tutorials - Informatica

 

Decimali, Binari & C

L' ottale


Sistemi non Decimali : l'ottale

Correntemente noi utilizziamo una matematica basata sul 10 e rappresentata dalle 10 cifre arabo-indiane: abbiamo dieci dita su cui contare. 

 

Immaginiamo ora che il nostro matematico, invece che un hindu, fosse un Na'vi di Pandora, il satellite del pianeta Poliphemus nel sistema di Alpha Centauri. 

Le sue mani hanno 4 dita ognuna e quindi il suo limite di conteggio è otto e non dieci.

 

Davanti al suo abaco a buche, inizia a mettere i sassolini: uno, due, tre, ecc e, arrivato a sette, fa lo stesso ragionamento che fa il matematico indiano con il nove. Arrivato alle otto dita delle mani, svuota la prima buca e mette  un sassolino nella seconda a indicare "una volta le dita delle mani"(che sono 8). 

Con sette sassolini nella seconda e sette nella prima, svuota le due buche e mette un sassolino nella terza, a indicare 8 volte le otto dita delle mani; e così via.

Il suo sistema basato sull' otto e non sul dieci, utilizza otto cifre (sette per le quantità e lo zero per la buca vuota).
Ha ideato il sistema ottale, ovvero un sistema di conteggio analogo a quello decimale, con le stesse regole, ma basato sull' otto invece che sul dieci.

 

Il sistema ottale è un sistema posizionale basato sull' 8.

 

Così, aggiorniamo la tabella per l' ottale:

 

ecc quarta
colonna
terza
colonna
seconda
 colonna
prima
 colonna
ecc. qui la cifra
vale per 512
qui la cifra
vale per 64
qui la cifra 
vale per 8
qui la cifra
 vale unità
ecc cifra * 512 cifra * 64 cifra * 8 cifra * 1
ecc cifra * 83 cifra * 82 cifra * 81 cifra * 1*80

 

dato che il passaggio da colonna a colonna va per potenze di 8 ( 1, 8, 64, 512, 4096, ecc).  
Quindi, supponendo che per comodità il matematico Na'vi utilizzi le cifre arabo-indiane, quando scrive :

        125

intende :

Numero ottale Cifra  Significato  Valore Valore decimale
125
= 5 volte la prima colonna  = 5 dita = 5 * 1
2 = 2 volte la seconda colonna = 2 volte le 8 dita = 2 * 8
1 = 1 volta la terza colonna = 1 volta 8 volte le 8 dita = 1 * 64
1 + 8 + 64 = 85

 che posso anche esprimere come:

125 = (1 * 64) + ( 2 * 8) +  (5 * 1) = ( 1 * 82) + ( 2 * 81) + (5 * 80)

 

o anche, ricordando cosa abbiamo detto delle radici

125 base8 = 1 × 82 + 2 × 81 + 5 × 80 = 64 + 16 + 5 = 85base 10

 

Se volete, potete esercitarvi a scrivere altri numeri ottali. Qui non proponiamo altri esercizi, che ognuno potrà crearsi da sè, se ha capito di cosa si sta parlando; perchè proprio questo e non la meccanicità del sistema è quello che interessa.

Evidentemente non sarà possibile scrivere in ottale 8 o 129 o 938 in quanto 

 

nel sistema ottale solo le cifre dall' 1 al 7 e lo zero sono possibili.

 

La tabella seguente riporta alcuni esempi :

 

Decimale Ottale Cifre romane
0 0 non usato
1 1 I
2 2 II
3 3 III
4 4 IV
5 5 V
6 6 VI
7 7 VII
8 10 VII
9 11 IX
10 11 X
11 13 XI
12 14 XII
13 15 XIII
14 16 XIV
15 17 XV
16 20 XVI
17 21 XVII

 

Ancora ripetizioni per chiarire con sicurezza: dopo il 7 nella tabella viene il 10.
Nella prima colonna 7 sassolini; se devo aggiungerne 1 raggiungo il limite, che è otto. Quindi svuoto la buca (0) e metto un sassolino nella buca successiva (1) per indicare che ho in conto una volta otto dita + nessun dito.
Il numero successivo sarà 11: 1 volta otto dita + 1 dito e così via.
A 17 e dovendo sommare 1, avrò 2 sassolini nella seconda buca (contate 2 volte le 8 dita delle mani) + 0 dita, quindi 20. E così via.

 

Per vedere all' opera un sistema ottale non è necessario andare su Pandora, ma basta osservare come alcuni dei primi calcolatori, ad esempio i famosi PDP di Digital erano basati proprio su questo sistema.

Anche attualmente l'ottale è utilizzato a volte nei computer invece dell'esadecimale poiché ha il vantaggio di non richiedere simboli extra oltre alle cifre indiane-arabe

Ne è prevista l' utilizzazione nei vari linguaggi di programmazione (Assembly, C, Perl, PostScript, ecc).

Forti di quanto finora detto, possiamo ricapitolare e presentare un modo per interpretare gli ottali che ci servirà per proseguire.

 

Il sistema ottale è 

  • un sistema di numerazione: cifre rappresentano numero secondo certe regole
  • è un sistema di numerazione posizionale: le cifre hanno valore diverso a seconda della posizione nel numero
  • è basato sull' otto (ha base 8), ovvero la radice è ottale: tra colonna e colonna la base della potenza è 8.

 

Possiamo prendere un numero, ad esempio  12345670 e dire che:

12345670base8

che è identico a scrivere:

12345670 = (1 * 87) + (2 * 86) + (3 * 85) + (4 * 84) + (5 * 83) + (6 * 82) + (7 * 81) +  (0 * 80 )

In una tabella:

 

colonna 8 7 6 5 4 3 2 1
esponente 7 6 5 4 3 2 1 0
moltiplicatore 87 86 85 84 83 82 81 80
cifra del numero 1 2 3 4 5 6 7 0
valore 1*87 2*86 3*85 4*84 5*83 6*82 7*81 0*80

Dato che:

 

Colonna Posizione Valore Moltiplicatore cifra

Potenza

8 7 Gruppi di 2097152 2097152 87
7 6 Gruppi di 262144 262144 86
6 5 Gruppi di 32768 32768 85
5 4 Gruppi di 4096 4096 84
4 3 Gruppi di 512 512 83
3 2 Gruppi di 64 64 82
2 1 Gruppi di 8 8 81
1 0 UNITA' 1 80

 

Nella tabella qui sopra osserviamo che non ha più senso, in ottale, parlare di decine o centinaia: decine, centinaia, migliaia, ecc. fanno riferimento a potenze di 10. Qui abbiamo a che fare con potenze di 8. Solo sul numero covertito da ottale a decimale possiamo tornare a parlare di decine, ecc.

Chiaro ? Se non lo fosse, riprendete dall' inizio con più calma...

Una tabella di somme con le cifre ottali:

 

base 8 - Somma
+ 0 1 2 3 4 5 6 7
0 0 1 2 3 4 5 6 7
1 1 2 3 4 5 6 7 10
2 2 3 4 5 6 7 10 11
3 3 4 5 6 7 10 11 12
4 4 5 6 7 10 11 12 13
5 5 6 7 10 11 12 13 14
6 6 7 10 11 12 13 14 15
7 7 10 11 12 13 14 15 16

e dei prodotti:

 

base 8 - Moltiplicazione
x 0 1 2 3 4 5 6 7
0 0 0 0 0 0 0 0 0
1 0 1 2 3 4 5 6 7
2 0 2 4 6 10 12 14 16
3 0 3 6 11 14 17 22 25
4 0 4 10 14 20 24 30 34
5 0 5 12 17 24 31 36 43
6 0 6 14 22 30 36 44 52
7 0 7 16 25 34 43 52 61

 

"Ohibò !!!  7 +7 = 16 ??  e 7 * 7 = 61 ???  Ma quando mai ..."

E invece è così, gente ! Perchè stiamo contando in ottale e utilizziamo la numerazione ottale !!

Ed è semplice, se è stato compreso quanti finora detto, che:

 

7base8+ 7base8 = 16base8

 

16 base8 =  1 × 81 + 6 × 80 = 8 + 6 = 14base 10

 

e

7base8* 7base8 = 61base8

 

61 base8 =  6 × 81 + 1 × 80 = 48 + 1 = 49base 10

 

"E perché  le tabelline si estendono dallo 0 al 7 e mancano le altre cifre ?"

 Suvvia, non scherziamo: in ottale ci sono solo otto cifre. E il numero dopo il 7 è 10....


 

 

 

 

Copyright © afg. Tutti i diritti riservati.
Aggiornato il 22/10/10.