4'

Cambio di base di un numero: procedimento

Una volta compreso il meccanismo fondamentale su cui si basa il sistema di numerazione decimale, il procedimento si può estendere a una base qualunque. La base del sistema di numerazione indica quante unità di un ordine servono a formarne una dell’ordine superiore. In questo modo si può costruire un sistema di numerazione posizionale con qualsiasi base maggiore di $1$. Per indicare un numero, ad esempio $15$, espresso nella base $B$ si usa la scrittura $(15)_{B}$.

Il procedimento usato per scrivere un numero in base $10$ può essere usato per scrivere un numero in una base qualsiasi. Per esempio proviamo a contare $29$ oggetti in base $5$. Come nel caso della numerazione in base $10$, utilizziamo un abaco:

Invece di contare per dieci proviamo a contare per cinque. Invece di raggruppare per unità, decine, decine di decine e così via, conteremo raggruppando per unità, per cinquine, per cinquine di cinquine e così via. Il numero che otteniamo si scrive $(104)_5$ e si legge “uno-zero-quattro in base cinque” per distinguerlo da centoquattro scritto in base $10$. Per ottenere il numero decimale che corrisponde al numero scritto in base $5$ occorre sviluppare il numero in base $5$ nella sua scrittura polinomiale: $$ (104)_5 = 1\cdot 5^2 + 0 \cdot 5^1 + 4\cdot 5^0 = 25 + 0 + 4 = (29)_{10}$$

 

Riflettiamo su quanto abbiamo fatto negli esempi precedenti: i simboli che occorrono per scrivere un numero in base $10$ sono dieci: $\{ 0,1,2,3,4,5,6,7,8,9 \}$; i simboli necessari per scrivere un numero in base 5 sono cinque: $\{0,1,2,3,4 \}$; i simboli necessari per scrivere un numero in base 3 sono tre: $\{0,1,2\}$. Possiamo generalizzare e dire che i simboli necessari per scrivere un numero in una base $B$ qualsiasi sono $B$ e precisamente $\{0,1, \dots , B−1\}$.

 

Possiamo scrivere i numeri anche in una base superiore a $10$. Una base molto usata nell'informatica, insieme alla base $2$, è la base esadecimale, cioè la base $16$. In questo caso, per contare devo fare raggruppamenti di $16$. Sono necessari perciò $16$ simboli per indicare questi raggruppamenti, pertanto occorrono simboli anche per i numeri $10 , 11, 12, 13, 14, 15$. I simboli convenzionalmente usati sono i seguenti:

$(A)_{16}=(10)_{10}; (B)_{16}=(11)_{10}; (C)_{16}=(12)_{10}; (D)_{16}=(13)_{10}; (E)_{16}=(14)_{10}; (F)_{16}=(15)_{10}$.

 

Convertire un numero da una base diversa da $10$ a base $10$

Per convertire un numero alla base $10$ scritto in una base diversa da $10$ bisogna sviluppare il numero nella sua forma polinomiale. Se $(x)_{B}$ è un numero qualsiasi scritto nella base $B$ e se $a_n, a_{n-1}, a_{n-2}, \dots, a_2, a_1, a_0$ sono le cifre del numero (da $0$ a $B-1$) avremo:

$$ (x)_{B} = a_n \cdot B^n + a_{n-1} \cdot B^{n-1} + \dots + a_2 \cdot B^2 + a_1 \cdot B^1 + a_0 \cdot B^0 $$

Ad esempio: convertiamo $(10023)_4$ in base dieci: $(10023)_4 = 1 \cdot 4^4 + 0 \cdot 4^3 + 0 \cdot 4^2 + 2 \cdot 4^1 + 3 \cdot 4^0 = 256 + 2\cdot 4 + 3 = 256 + 8 + 3 = 267$.

Un altro esempio: convertiamo $(1AD4)_{16}$ in base dieci: $(1AD4)_{16} = 1 \cdot 16^3 + 10 \cdot 16^2 + 13 \cdot 16^1 + 4 \cdot 16^0 = 4096 + 10 \cdot 256 + 13 \cdot 16 + 4 = 6868$.

 

Convertire un numero da base $10$ a una base diversa da $10$

Abbiamo visto che per contare e scrivere un numero in una base diversa da dieci in base $B$ dobbiamo raggruppare per $B$. Cerchiamo ad esempio di scrivere $29 = (29)_{10}$ in base 3.

 

Raggruppare per $3$ significa dividere per $3$. Nella prima divisione, il quoziente indica quanti raggruppamenti di $B$ elementi otteniamo, mentre il resto indica quante unità di ordine $0$ verranno considerate. Nel nostro esempio si ottiene $29 : 3 = 9$ resto $2$; ciò significa che riusciamo a formare nove terzine, mentre rimangono $2$ unità di ordine $0$: il $2$ sarà la prima cifra a destra del numero $29$ scritto in base $3$. Con nove terzine si ottengono tre terzine di terzine con resto $0$, poiché $9 : 3 = 3$ resto $0$. Questo $0$ diventa la cifra che scriviamo a sinistra del $2$. Siccome $3 : 3 = 1$ resto $0$, questo significa che con tre terzine di terzine otteniamo una terzina di terzina di terzina, mentre rimangono $0$ terzine di terzine: questo $0$ diventa il numero che scriviamo a sinistra dello zero precedente. Ora, $1 : 3 = 0$ resto $1$. Qui ci fermiamo, poiché il quoziente è $0$, e scriviamo $1$ a sinistra dello $0$ trovato precedentemente. Il numero si scrive da destra verso sinistra prendendo i resti dal basso verso l'alto: si ha quindi $(29)_{10} = (1002)_3$.

Controlliamo con la notazione polinomiale: $(1002)_3 = 1 \cdot 3^3 + 0 \cdot 3^2 + 0 \cdot 3^1 + 2 \cdot 3^0 = 27 + 2 = 29$.