La divisione binaria può essere risolta utilizzando il metodo della divisione lunga, che è un metodo che può insegnarti il processo di divisione da solo e creare semplici programmi per computer. Inoltre, i metodi complementari di sottrazione iterativa possono fornire approcci con cui potresti non avere familiarità, anche se non sono comunemente usati per la programmazione. I linguaggi macchina di solito usano algoritmi di approssimazione per essere più efficienti, ma questo non è descritto in questo articolo.
Fare un passo
Metodo 1 di 2: utilizzo della divisione lunga
Passaggio 1. Riapprendere la divisione lunga decimale
Se non usi la divisione lunga nel sistema di numeri decimali regolari (in base dieci) da molto tempo, rivisita le basi usando il problema di esempio 172 diviso per 4. Altrimenti, salta questo passaggio e vai direttamente al passaggio successivo per esplorare un processo simile con i numeri binari.
- Numeratore diviso per denominatore, e il risultato è quoziente.
- Confronta il denominatore con il primo numero del numeratore. Se il denominatore è più grande, continua ad aggiungere numeri al numeratore finché il denominatore è più piccolo. (Ad esempio, se calcoliamo 172 diviso 4, confrontiamo 4 con 1, sappiamo che 4 è maggiore di 1, quindi procediamo a confrontare 4 con 17.)
- Scrivi la prima cifra del quoziente sopra l'ultimo numeratore utilizzato nel confronto. Quando confrontiamo 4 con 17, vediamo che 4 è coperto da 17 quattro volte, quindi scriviamo 4 come primo numero del quoziente, sopra 7.
- Moltiplica e sottrai per ottenere il resto. Moltiplica il quoziente per il denominatore, che significa 4 × 4 = 16. Scrivi 16 sotto 17, quindi sottrai 17 per 16 per ottenere il resto, che è 1.
- Ripeti il processo. Confrontiamo nuovamente il denominatore, che è 4, con il numero successivo, che è 1, notiamo che 4 è maggiore di 1, quindi "sottraiamo" il numero successivo dal numeratore, continuiamo confrontando 4 con 12. Vediamo che 4 è coperto da 12 tre volte senza resto, quindi scriviamo 3 come numero successivo del quoziente. La risposta è 43.
Passaggio 2. Preparare un problema di divisione lunga in binario
Prendiamo 10101 11. Scrivi come un problema per la divisione lunga, usando 10101 come numeratore e 11 come denominatore. Lascia lo spazio sopra come luogo per scrivere il quoziente e sotto come luogo per scrivere i calcoli.
Passaggio 3. Confronta il denominatore con la prima cifra del numeratore
Funziona allo stesso modo della divisione lunga in decimale, ma in realtà è molto più semplice nel sistema numerico binario. In binario ci sono solo due opzioni, o non puoi dividere il numero per il denominatore (che significa 0) o il denominatore è incluso solo una volta (che significa 1):
11 > 1, quindi 11 non è "coperto da" 1. Scrivi il numero 0 come primo numero del quoziente (sopra la prima cifra del numeratore)
Passaggio 4. Lavora sul numero successivo e ripeti finché non ottieni il numero 1
Di seguito sono riportati i passaggi successivi nel nostro esempio:
- Ricava il numero successivo dal numeratore. 11 > 10. Scrivi 0 nel quoziente.
- Abbassa il numero successivo. 11 < 101. Scrivi il numero 1 nel quoziente.
Passaggio 5. Trova il resto della divisione
Come con i decimali a divisione lunga, moltiplica il numero appena ottenuto (1) per il denominatore (11), quindi scrivi il risultato sotto il numeratore parallelamente al numero appena calcolato. Nel sistema numerico binario, possiamo riassumere questo processo, perché 1 x il denominatore è sempre lo stesso del denominatore:
- Scrivi il denominatore sotto il numeratore. Qui, scrivi 11 parallelamente alle prime tre cifre del numeratore (101).
- Conta 101 - 11 per ottenere il resto della divisione, che è 10. Guarda come sottrarre i numeri binari se devi imparare di nuovo.
Passaggio 6. Ripetere fino a quando il problema non viene risolto
Diminuisci il numero successivo dal denominatore al resto della divisione per ottenere 100. Poiché 11 < 100, scrivi 1 come numero successivo nella divisione. Continua il calcolo come prima:
- Scrivi 11 sotto 100 e poi sottrai per ottenere 1.
- Abbassa l'ultima cifra del numeratore a 11.
- 11 = 11, quindi scrivi 1 come ultima cifra del quoziente (risposta).
- Poiché non c'è resto, il calcolo è completo. La risposta è 00111, o solo 111.
Passaggio 7. Aggiungi punti radix se necessario
A volte, il risultato di un calcolo non è un numero intero. Se hai ancora una divisione dopo aver usato l'ultima cifra, aggiungi ".0" al numeratore e "." al quoziente, quindi puoi ancora derivare un altro numero e continuare il calcolo. Ripetere fino a raggiungere la precisione desiderata, quindi arrotondare il risultato. Sulla carta, puoi arrotondare per difetto rimuovendo l'ultimo 0, o se l'ultimo è un 1, scartalo e aggiungi l'ultimo numero più recente a 1. Nella programmazione, segui uno dei numerosi algoritmi di arrotondamento standard per evitare errori durante la conversione dei numeri binari in decimale e viceversa.
- La divisione binaria spesso si traduce in parti frazionarie ripetute, più spesso dello stesso processo nel sistema decimale.
- Questo è più comunemente chiamato "punto radix", che si applica a qualsiasi base, perché il termine "punto decimale" si applica solo nel sistema decimale.
Metodo 2 di 2: utilizzo del metodo complementare
Passaggio 1. Comprendere il concetto di base
Un modo per risolvere il problema della divisione – su qualsiasi base – è continuare a sottrarre il denominatore dal numeratore, poi il resto, contando quante volte questo processo può essere ripetuto prima di ottenere un numero negativo. L'esempio seguente è un calcolo in base dieci, calcolando 26 7:
- 26 - 7 = 19 (sottrarre 1 volta)
- 19 - 7 = 12 (2)
- 12 - 7 = 5 (3)
- 5 - 7 = -2. Numeri negativi, quindi fai un passo indietro. Il risultato è 3 e il resto è diviso per 5. Nota che questo metodo non calcola la parte frazionaria della risposta.
Passaggio 2. Impara a sottrarre con i complementi
Sebbene sia possibile utilizzare facilmente il metodo sopra in un sistema binario, possiamo anche ridurre l'uso di un metodo più efficiente, che consente di risparmiare tempo durante la programmazione del computer per eseguire la divisione binaria. Questa è la sottrazione con il metodo del complemento in binario. Ecco le basi, calcolando 111 - 011 (assicurati che i due numeri abbiano la stessa lunghezza):
- Trova il complemento a uno per il secondo numero, sottraendo ogni cifra da 1. Questo passaggio è facile da eseguire nel sistema binario cambiando ogni 1 in 0 e ogni 0 in 1. In questo esempio, da 011 a 100.
- Aggiungi 1 al risultato del calcolo: 100 + 1 = 101. Questo numero è chiamato complemento a due, quindi la sottrazione può essere risolta come addizione. In sostanza, il risultato di questo calcolo è come se aggiungiamo numeri negativi e non sottraiamo numeri positivi, al termine di questo processo.
- Aggiungi il risultato al primo numero. Scrivi e risolvi il problema di addizione: 111 + 101 = 1100.
- Rimuovi più numeri. Rimuovere il primo numero dal risultato del calcolo per ottenere il risultato finale. 1100 → 100.
Passaggio 3. Combina i due concetti descritti sopra
Ora conosci il metodo di sottrazione per risolvere i problemi di divisione, così come il metodo del complemento a due per risolvere i problemi di sottrazione. Utilizzando i passaggi seguenti, puoi combinare i due in un unico metodo per risolvere il problema della divisione. Se vuoi, prova a risolverlo da solo prima di continuare.
Passaggio 4. Sottrai il denominatore dal numeratore, aggiungendo il complemento a due
Lavoriamo sul problema 100011 000101. Il primo passo è risolvere 100011 - 000101, utilizzando il metodo del complemento a due per trasformare questo calcolo in una somma:
- Complemento a due di 000101 = 111010 + 1 = 111011
- 100011 + 111011 = 1011110
- Rimuovi i numeri in eccesso → 011110
Passaggio 5. Aggiungi 1 al risultato della divisione
In un programma per computer, è qui che aggiungi 1 al quoziente. Sulla carta, prendi appunti negli angoli in modo che non si confondano con altri lavori. Siamo riusciti a sottrarre una volta, quindi il risultato della divisione finora è 1.
Passaggio 6. Ripetere il processo sottraendo il denominatore dal resto del calcolo
Il risultato del nostro ultimo calcolo è il resto della divisione dopo che il denominatore è stato "coperto" una volta. Continua ad aggiungere il complemento a due del denominatore su ogni ripetizione e rimuovendo le cifre extra. Aggiungi 1 al quoziente su ogni iterazione, ripetendo finché non ottieni il resto del calcolo uguale o inferiore al denominatore:
- 011110 + 111011 = 1011001 → 011001 (quoziente 1+1=10)
- 0110001 + 111011 = 1010100 → 010100 (quoziente 10+1=11)
- 010100 + 111011 = 1001111 → 001111 (11+1=100)
- 001111 + 111011 = 1001010 → 001010 (100+1=101)
- 001010 + 111011 = 10000101 → 0000101 (101+1=110)
- 0000101 + 111011 = 1000000 → 000000 (110+1=111)
- 0 è minore di 101, quindi ci fermiamo qui. La risposta a questo processo di divisione è 111. Mentre il resto della divisione è il risultato finale del processo di sottrazione, in questo caso 0 (nessun resto).
Suggerimenti
- Le istruzioni per aumentare (aggiungere 1), abbassare (sottrarre 1) o rimuovere dallo stack (pop stack) dovrebbero essere prese in considerazione prima di applicare la matematica binaria in un set di istruzioni macchina.
- Il metodo del complemento a due per la sottrazione non funzionerà se i numeri hanno un diverso numero di cifre. Per risolvere questo problema, aggiungi uno zero all'inizio del numero per un numero più piccolo.
- Ignora i numeri negativi nei numeri binari negativi prima di calcolare, tranne per determinare se la risposta è positiva o negativa.