Conversione da decimale a binario

Rappresentazione dati

Nella lezione sui numeri binari, abbiamo mostrato che il bit più a destra di qualunque numero binario vale 0 se il numero è pari, oppure 1, se il numero è dispari. Si è inoltre detto che le divisioni per 2 possono essere eseguite rimuovendo il bit più a destra e facendo scorrere tutti gli altri di una posizione verso destra.

Tali proprietà possono essere usate per calcolare l’equivalente binario di un numero decimale. Si può innanzitutto dire che il bit più a destra può essere trovato semplicemente controllando se il numero è pari o dispari. Per calcolare i bit più a sinistra è sufficiente dividere più volte il numero decimale per due, arrotondandolo sempre per difetto. In questo modo possiamo generare una sequenza di numeri decimali il cui equivalente binario contiene tutti i bit della sequenza ad eccezione di quello più a destra. Ciò implica che, con ogni divisione, il secondo bit della sequenza diventa il primo e può essere valutato semplicemente controllando se il risultato dell’ultima divisione sia pari o dispari.

Ad esempio, se dovessimo convertire il numero decimale 74, potremmo dire immediatamente che il bit più a destra vale 0, dato che il numero è pari. Successivamente divideremo il numero per due, che dà come risultato 37. Questo significa che il successivo bit della sequenza vale 1, dato che il numero è dispari.

Il calcolo completo può essere eseguito come mostrato nella tabella seguente.

NumeroCondizioneBit a destraEquivalente binario
74pari01001010
37dispari1100101
18pari010010
9dispari11001
4pari0100
2pari010
1dispari11

Il risultato sarà scritto, da sinistra a destra, partendo dal fondo della tabella.

1001010