La rappresentazione dei numeri
I sistemi di numerazione sono utilizzati per esprimere dei numeri e per applicare alcune operazioni su di essi effettuabili. I numeri, a cominciare dai cosiddetti numeri naturali, fin dai tempi antichi si sono rivelati strumenti necessari per affrontare problemi di importanza fondamentale. A grandi linee si può dire che nel passato sono state adottate svariate notazioni numerali in gran parte poco razionali fino a giungere con una certa fatica alle notazioni oggi più diffuse, pratiche e canoniche, le notazioni posizionali.
Sistemi numerici posizionali e non posizionali
Si parla di sistema numerico non posizionale quando la cifra all’interno del numero assume sempre il medesimo significato in qualsiasi posizione si trovi. Esempio classico è il sistema numerico che adottavano gli antichi Romani:
- I - 1
- V - 5
- X - 10
- L - 50
- C - 100
- D - 500
- M - 1000
Viceversa si dice che un sistema numerico è posizionale, se la cifra all’interno del numero assume un significato diverso a seconda della posizione in cui si trova. Scrivere infatti il numero 101 è diverso dallo scrivere 110, si stanno esprimendo due quantità diverse. Nel primo caso, supposto che si stia utilizzando il sistema decimale, infatti si ha:
101 = 1×102 + 0×101 + 1×100
110 = 1×102 + 1×101 + 0×100
La cifra 1 prende, quindi, il suo significato all’interno del numero e, a seconda di dove la si posiziona, diciamo che essa è un’unità, una decina, una centinaia e così via.
Equivalenza tra sistemi numerici
Un numero può essere espresso sotto varie basi. Quelle più rilevanti per l’informatica sono il sistema binario, ottale ed esadecimale. Il sistema binario opera unicamente su due cifre 0 ed 1, invece il sistema ottale ha come cifre i numeri che vanno da 0 a 7, infine il sistema esadecimale sfrutta i numeri che vanno da 0 a 9 e le lettere da A alla F (per esprimere tutti i 16 valori).
| Decimale | 0 1 2 3 4 5 6 7 8 9 |
|---|---|
| Binario | 0 1 |
| Ottale | 0 1 2 3 4 5 6 7 |
| Esadecimale | 0 1 2 3 4 5 6 7 8 9 A B C D E F |
Molto spesso è necessario che vengano effettuate delle conversioni di base. Passare, cioè, un numero da una base ad un’altra. Se viene richiesto di passare da una qualsiasi base al sistema decimale, sfruttando proprio il concetto di sistema posizionale, è possibile convertire il numero effettuando banali operazioni.
Sia b la base di un generico sistema numerico posizionale e sia n la quantità di cifre componenti il numero su cui operare la conversione, c la generica cifra, allora si ha che:
x = c0 × bn-1 + c1 × bn-2 + ... + cn-1 × b0
Viceversa, se è necessario passare dal sistema decimale ad un qualsiasi sistema, è possibile far uso di un procedimento che opera per divisioni successive. Possiamo, per ottenere una maggiore semplicità, riportare il tutto sotto forma di tabella, che sul lato sinistro riporta i quozienti delle divisioni, sul lato destro i rispettivi resti. Il divisore è proprio la base del sistema considerato, mentre il numero convertito è dato dalla lettura, dal basso verso l’alto della colonna dei resti.
Esempi ed esercizi: conversione da base generica a decimale
Si vogliono esprimere i seguenti numeri, scritti nelle rispettive basi, come numeri decimali:
- 1408 = 0×82 + 4×81 + 1×80 = 96
- 14016 = 0×162 + 4×161 + 1×160 = 320
- 101102 = 0×24 + 1×23 + 1×22 + 0×21 + 1×20 = 22
- 3016 = 0×161 + 3×160 = 48
- 1223 = 2×32 + 2×31 + 1×30 = 17
- 110112 = 1×24 + 1×23 + 0×22 + 1×21 + 1×20 = 27
Esempi ed esercizi: conversione da base decimale a generica
Si vuole esprimere il numero decimale 140 sotto forma di numero binario, ottale ed esadecimale.
Avvertenze
-
Rappresentazione informazione
-
Rappresentazione dei dati
-
Rappresentazione complemento a due
-
Informatica I - la rappresentazione dei numeri binari