Vai al contenuto
BINARYRainbow Bits

Bozza in revisione: il testo non è ancora stato approvato.

Binario, ottale ed esadecimale

Le basi otto e sedici hanno un legame speciale con la base due: 8 = 2³ e 16 = 2⁴. Ne segue che ogni cifra ottale corrisponde esattamente a tre bit e ogni cifra esadecimale a quattro bit. Per passare da una base all’altra non servono né somme né divisioni: basta raggruppare.

Dal binario all’ottale o all’esadecimale

  1. Dividi i bit in gruppi partendo da destra: gruppi di tre per l’ottale, di quattro per l’esadecimale.
  2. Se il gruppo più a sinistra resta incompleto, aggiungi zeri a sinistra.
  3. Sostituisci ogni gruppo con la cifra corrispondente.

Per esempio, 1011010₂ in esadecimale: 101 1010 diventa 0101 1010, cioè 5A₁₆. In ottale: 1 011 010 diventa 001 011 010, cioè 132₈.

Gruppi di 4 bit, formati partendo da destra
  1. 01015
  2. 1010A

Gli zeri in grigio completano il gruppo più a sinistra.

Al contrario

Si sostituisce ogni cifra con il suo gruppo di bit, sempre completo: in ottale il 5 diventa 101 e l’1 diventa 001, non 1. Gli zeri iniziali del risultato si possono togliere solo alla fine, perché quelli in mezzo al numero contano.

Esadecimale Binario Esadecimale Binario
0 0000 8 1000
1 0001 9 1001
2 0010 A 1010
3 0011 B 1011
4 0100 C 1100
5 0101 D 1101
6 0110 E 1110
7 0111 F 1111

Per questo l’esadecimale piace tanto a chi programma: è un modo compatto di scrivere i bit, quattro alla volta, senza perdere di vista il binario che c’è sotto.

Allenati con i gruppi di bit.

Fonti

  • Donald E. Knuth, The Art of Computer Programming, vol. 2: Seminumerical Algorithms (§ 4.1 Positional number systems, § 4.4 Radix conversion), Addison-Wesley, 1997.