La divisione tra numeri binari può essere eseguita in due modi. Il primo metodo consiste nella divisione in colonna, proprio come avviene per i numeri decimali mentre il secondo metodo consiste nel sottrarre il divisore al dividendo e continuare il procedimento sulla differenza ottenuta fino a quando la sottrazione non sarà più possibile.
Nel primo caso si prendono come riferimento tanti bit del dividendo tali da potere effettuare la divisione con le cifre del divisore. Se tali cifre sono minori di quelle del divisore il risultato è 0, altrimenti è 1. Si effettua la consueta moltiplicazione e poi la differenza tra le cifre del dividendo con il prodotto ottenuto. Si abbassa la nuova unità del dividendo e si procede fino a quando la divisione è completa. Si riportano poi il quoziente e il resto. La divisione è verificata se la somma tra il prodotto del divisore con il quoziente e il resto è uguale al dividendo.
L’esempio riportato sopra divide i numeri binari 1101 e 110. Prendiamo i primi tre bit del divisore (110) e le dividiamo con il divisore. Siccome le cifre sono uguali o superiori, il risultato è 1. Si moltiplica il quoziente per il divisore e lo si toglie alle cifre del dividendo. Si continua con il secondo passaggio ma siccome 1 è minore di 110, il nuovo quoziente è 0 e il resto è 1.
1 | 1 | 0 | 1 | 1 | 1 | 0 | ||
1 | 1 | 0 | 1 | 0 | ||||
0 | 0 | 0 | 1 | |||||
0 | 0 | 0 | ||||||
1 | ||||||||
Q = 10 | R = 1 |
Per verificare che la divisione è corretta, moltiplichiamo il divisore con il quoziente ottenuto e poi sommiamo il resto al risultato.
1 | 1 | 0 | × | |||
1 | 0 | = | ||||
– | + | |||||
1 | 1 | 0 | – | + | ||
1 | 1 | 0 | 0 | + | ||
R | 1 | = | ||||
1 | 1 | 0 | 1 |
Nel secondo caso, il dividendo diventa il minuendo della sottrazione mentre il divisore il sottraendo. Se il primo è maggiore del secondo si effettua la sottrazione: la differenza ottenuta diventa il nuovo minuendo a cui verrà sempre sottratto il divisore, fino a quando la differenza ottenuta sarà minore del divisore. A quel punto, il quoziente è il numero di sottrazioni effettuate convertito in binario mentre il resto è il risultato dell’ultima sottrazione.
Ripetiamo la divisione binaria 1101 : 110 tramite sottrazioni ripetute. In questo caso abbiamo effettuato due sottrazioni prima che la differenza fosse minore del divisore. Quindi il quoziente è uguale a 2 che convertito in binario è 10; il resto è uguale a 1. Questo metodo
1 | 1 | 0 | 1 | – | ||||
Q = 2 = 10 | ||||||||
1 | 1 | 0 | = | |||||
R = 1 | ||||||||
1 | 1 | 1 | + | |||||
1 | 1 | 0 | + | |||||
– | – | 1 |
Questi sono metodi che vanno bene quando dobbiamo fare ogni tanto delle divisioni tra numeri binari ma per calcoli molto grandi non sono adatte a motivo delle scarse prestazioni. Per questo motivo vengono usare regole più efficienti per i calcolatori.