Numeri Ottali e Esadecimali

Concetti Chiave
  • Il sistema numerico binario è fondamentale nei computer digitali, poiché rappresenta i dati in forma di 1 e 0.
  • La conversione tra basi numeriche (binario, ottale ed esadecimale) è essenziale per la comunicazione tra umani e computer.
  • Ogni cifra ottale corrisponde a tre cifre binarie e ogni cifra esadecimale corrisponde a quattro cifre binarie.
  • Un numero binario a molte cifre può essere rappresentato in modo più compatto in ottale o esadecimale, facilitando la lettura e la scrittura.
  • La rappresentazione ottale o esadecimale è preferita per la comunicazione tra umani e computer, poiché è più compatta e leggibile.

Numeri Ottali e Esadecimali

La conversione da e verso binario, ottale ed esadecimale gioca un ruolo importante nei computer digitali, perché pattern più corti di caratteri esadecimali sono più facili da riconoscere di lunghi pattern di 1 e 0.

Poiché 2^3 = 8 e 2^4 = 16, ogni cifra ottale corrisponde a tre cifre binarie e ogni cifra esadecimale corrisponde a quattro cifre binarie. I primi 16 numeri nei sistemi numerici decimale, binario, ottale ed esadecimale sono elencati nella tabella che segue:

Decimale (base 10) Binario (base 2) Ottale (base 8) Esadecimale (base 16)
00 0000 00 0
01 0001 01 1
02 0010 02 2
03 0011 03 3
04 0100 04 4
05 0101 05 5
06 0110 06 6
07 0111 07 7
08 1000 10 8
09 1001 11 9
10 1010 12 A
11 1011 13 B
12 1100 14 C
13 1101 15 D
14 1110 16 E
15 1111 17 F
Tabella 1: Corrispondenza tra i primi 16 numeri decimali, binari, ottali ed esadecimali.

La conversione da binario a ottale è facilmente realizzata dividendo il numero binario in gruppi di tre cifre ciascuno, iniziando dal punto binario e procedendo verso sinistra e verso destra. La cifra ottale corrispondente viene poi assegnata a ogni gruppo.

Proviamo con un esempio concreto. Vogliamo convertire il numero binario:

(10110001101011.111100000110)_{2}

in ottale. Per farlo, dividiamo il numero in gruppi di tre cifre:

\begin{array}{ccccccccc} (10 & 110 & 001 & 101 & 011 & . & 111 & 000 & 110)_{2} \end{array}

Ad ogni gruppo di tre cifre binarie corrisponde una cifra ottale:

\begin{array}{ccccccccc} (10 & 110 & 001 & 101 & 011 & . & 111 & 000 & 110)_{2}\\ (2 & 6 & 1 & 5 & 3 & . & 7 & 4 & 6)_{8} \end{array}

Quindi, il numero binario (10110001101011.111100000110)_{2} è equivalente a (26153.746)_{8} in ottale.

La conversione da binario a esadecimale è simile, eccetto che il numero binario è diviso in gruppi di quattro cifre:

\begin{array}{ccccccc} (10 & 1100 & 0110 & 1011 & . & 1111 & 0010)_2 \\ 2 & \text{C} & 6 & \text{B} & . & \text{F} & 2 \end{array}

Quindi, il numero binario (10110001101011.111100000110)_{2} è equivalente a (\text{2C6B.F2})_{16} in esadecimale.

La cifra esadecimale (o ottale) corrispondente per ogni gruppo di cifre binarie è facilmente ricordata dai valori elencati nella tabella di sopra.

La conversione da ottale o esadecimale a binario si fa invertendo la procedura precedente. Ogni cifra ottale è convertita al suo equivalente binario a tre cifre. Allo stesso modo, ogni cifra esadecimale è convertita al suo equivalente binario a quattro cifre.

La procedura è illustrata negli esempi seguenti:

Convertiamo (673.124)_8 in binario:

\begin{array}{ccccccc} 6 & 7 & 3 & . & 1 & 2 & 4 \\ 110 & 111 & 011 & . & 001 & 010 & 100 \end{array}

Quindi (673.124)_8 è equivalente a (110111011.001010100)_2 in binario.

Adesso proviamo con un numero esadecimale. Convertiamo (\text{306.D})_{16} in binario:

\begin{array}{ccccc} 3 & 0 & 6 & . & D \\ 0011 & 0000 & 0110 & . & 1101 \end{array}

Quindi (\text{306.D})_{16} è equivalente a (001100000110.1101)_2 in binario.

I numeri binari sono difficili da lavorare perché richiedono tre o quattro volte più cifre dei loro equivalenti decimali.

Per esempio, il numero binario (111111111111)_2 è equivalente al decimale 4095. Tuttavia, i computer digitali usano la rappresentazione binaria dei numeri, ed è a volte necessario per l'operatore umano o l'utente comunicare direttamente con la macchina per mezzo di tali numeri.

Uno schema che mantiene il sistema binario nel computer, ma riduce il numero di cifre che l'essere umano deve considerare, utilizza la relazione tra il sistema numerico binario e il sistema ottale o esadecimale. Con questo metodo, l'umano pensa in termini di numeri ottali o esadecimali e esegue la conversione richiesta per ispezione quando è necessaria la comunicazione diretta con la macchina. Così, il numero binario (111111111111)_2 ha 12 cifre ed è espresso in ottale come (7777)_8 (4 cifre) o in esadecimale come (FFF)_{16} (3 cifre). Durante la comunicazione tra persone (riguardo ai numeri binari nel computer), la rappresentazione ottale o esadecimale è più desiderabile perché può essere espressa in modo più compatto con un terzo o un quarto del numero di cifre richieste per il numero binario equivalente. Pertanto, la maggior parte dei manuali di informatica e elettronica usa numeri ottali o esadecimali per specificare istruzioni e altre quantità binarie. La scelta tra loro è arbitraria, anche se l'esadecimale tende a prevalere, poiché può rappresentare un byte con sole due cifre.