Come fare il cambio di base nei sistemi numerici

Per convertire un numero decimale in binario, ottale o esadecimale e viceversa utilizzo due algoritmi. Sono abbastanza semplici da usare e facili da ricordare.

Da qualsiasi base numerica a decimale

Per convertire un numero binario, ottale o altra base in un numero decimale (base dieci) moltiplico ogni cifra del numero per la potenza della base iniziale.

Ad esempio, ho il numero binario 101

$$ (101)_2 $$

Per convertirlo in decimale calcolo la somma dei prodotti di ogni cifra per la base due (sistema binario) elevata alla posizione k.

$$ (101)_2 = 1 \cdot 2^2 + 0 \cdot 2^1 + 1 \cdot 2^0 $$

$$ (101)_2 = 1 \cdot 4 + 0 \cdot 2 + 1 \cdot 1 $$

$$ (101)_2 = 4 + 0 + 1 = 5 $$

Il numero binario 101 è il numero 5 nel sistema decimale.

Lo stesso algoritmo di conversione funziona anche con altri sistemi numerici.

Ad esempio, ho il numero ottale 123

$$ (123)_8 $$

Per convertirlo in un numero decimale seguo lo stesso procedimento.

$$ (123)_8 = 1 \cdot 8^2 + 2 \cdot 8^1 + 3 \cdot 8^0 $$

$$ (123)_8 = 1 \cdot 64 + 2 \cdot 8 + 3 \cdot 1 $$

$$ (123)_8 = 64 + 16 + 3 = 83 $$

Il numero ottale 123 è il numero 83 nel sistema decimale.

L'algoritmo funziona anche con il sistema decimale. Basta ricordarsi che i sistemi con più di dieci cifre usano le lettere per indicare i numeri più grandi (A=10, B=11, C=12, ...).

Ad esempio, ho il numero esadecimale 2A0.

Per convertirlo in un numero decimale seguo lo stesso procedimento usando 16 come base di origine

$$ (2A0) = 2 \cdot 16^2 + A \cdot 16^1 + 0 \cdot 16^0 $$

$$ (2A0) = 2 \cdot 256 + A \cdot 16 + 0 \cdot 1 $$

Sapendo che A=10 nel sistema esadecimale

$$ (2A0) = 2 \cdot 256 + 10 \cdot 16 + 0 \cdot 1 $$

$$ (2A0) = 512 + 160 + 0 = 672 $$

Il numero esadecimale 2A0 è il numero 672 nel sistema decimale.

Da decimale a qualsiasi altra base numerica

Per convertire un numero decimale (base 10) in un altro sistema numerico uso il metodo della divisione successiva del numero per la base di destinazione

  1. Divido il numero decimale e i successivi quozienti per la base di destinazione
  2. Quando il quoziente è una cifra del sistema numerico di destinazione smetto di dividere il numero decimale
  3. Leggo l'ultimo quoziente e i resti da destra verso sinistra.
  4. Il risultato è il numero decimale convertito nella nuova base.

Ad esempio, ho il numero decimale 123

Per convertirlo in un numero binario lo divido per la base del sistema binario (b=2)

la prima divisione

Il numero 123 diviso 2 è uguale a 61 con resto 1.

Ora divido nuovamente il quoziente per la base numerica binaria (b=2) di destinazione.

il numero 60 diviso 2

Il numero 60 diviso 2 è uguale a 30 con resto 0.

Ora divido il quoziente 30 per la base numerica binaria (b=2)

30 diviso 2

Il numero 30 diviso 2 è uguale a 15 con resto 0.

Ora divido il quoziente 15 per la base numerica binaria (b=2)

divido 15 per 2

Il numero 15 diviso 2 è uguale a 7 con resto 1.

Ora divido il quoziente 7 per la base numerica binaria (b=2)

divido 7 per 2

Il numero 7 diviso 2 è uguale a 3 con resto 1.

Ora divido il quoziente 3 per la base numerica binaria (b=2)

divido 3 per 2

Il numero 3 diviso 2 è uguale a 1 con resto 1.

Le divisioni successive terminano qui perché il quoziente dell'ultima divisione è una cifra binaria (1).

A questo punto leggo il numero binario da destra verso sinistra a partire dall'ultimo quoziente (1) seguito dai resti delle divisioni precedenti.

il numero binario

Pertanto, il numero decimale 123 è il numero binario 1111011.

Lo stesso metodo posso usarlo per convertire un numero decimale in qualsiasi altra base.

Ad esempio, per convertire il numero decimale 123 in un numero ottale lo divido per la base otto (b=8)

come ottenere il numero ottale

Il numero decimale 123 è il numero ottale 173 su base 8.

Allo stesso modo posso trasformare un numero decimale in un numero esadecimale dividendolo per 16 e ricordandomi che i numeri da 10 a 15 sono lettere A, B, C, D, E, F.

Ad esempio, per convertire il numero decimale 123 in un numero esadecimale lo divido per la base sedici (b=16)

Poi leggo il numero da destra verso sinistra sostituendo i numeri da 10 a 15 con le lettere. Ad esempio, 11=B.

la conversione di base

Il numero decimale 123 è il numero esadecimale 7B.

E così via.

 


 

Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

FacebookTwitterLinkedinLinkedin
knowledge base

I sistemi numerici