Vai al contenuto
BINARYRainbow Bits

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

Dal decimale a una base qualsiasi

Per il viaggio inverso, dal decimale verso un’altra base, si usano le divisioni successive.

Il procedimento

  1. Dividi il numero per la base e annota quoziente e resto.
  2. Dividi il quoziente per la base, e così via.
  3. Fermati quando il quoziente diventa 0.
  4. Leggi i resti dal basso verso l’alto: sono le cifre del risultato.

Per esempio, 43 in base 2:

Divisione Quoziente Resto
43 : 2 21 1
21 : 2 10 1
10 : 2 5 0
5 : 2 2 1
2 : 2 1 0
1 : 2 0 1

Leggendo i resti dall’ultimo al primo si ottiene 101011₂. Controlla con la somma pesata: 32 + 8 + 2 + 1 = 43.

Passo 1 di 6
Divisioni successive per 2
DividendoQuozienteResto
43 : 2211

Perché dal basso

Il primo resto dice quanto avanza dividendo per la base, cioè quante unità restano fuori dai gruppi da b: è la cifra delle unità, la più a destra. Il secondo resto conta le unità avanzate tra i gruppi, e così via. Ogni divisione produce la cifra successiva verso sinistra, per questo l’ultimo resto è la cifra più significativa.

Da una base qualsiasi a un’altra· approfondimento

Per convertire, per esempio, da base cinque a base sette si passa dal decimale: prima la somma pesata, poi le divisioni successive. Nella sfida, per queste conversioni puoi scrivere anche il valore decimale intermedio: se sbagli, il sito capisce in quale delle due fasi.

Allenati con le divisioni successive.

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.