Autore:
Mark Sanchez
Data Della Creazione:
2 Gennaio 2021
Data Di Aggiornamento:
1 Luglio 2024
![Divisione di due numeri binari](https://i.ytimg.com/vi/KipHVD67Ffs/hqdefault.jpg)
Contenuto
I numeri binari possono essere suddivisi in colonne per comprendere meglio il processo stesso o per scrivere un semplice programma per computer. Puoi anche usare il metodo del complemento, che è usato raramente nella programmazione. In genere, i linguaggi macchina utilizzano un algoritmo di punteggio per essere più efficienti, ma non è di questo che tratta questo articolo.
Passi
Metodo 1 di 2: Divisione lunga
1 Dividi per colonna due numeri decimali. Se hai dimenticato la divisione lunga, dividi due numeri decimali (base 10): 172 ÷ 4. Se la divisione lunga è ottima, vai al passaggio successivo per imparare a dividere i numeri binari.
- Dividendo diviso per divisore e si scopre privato.
- Confronta il divisore con la prima cifra del dividendo. Se il divisore è maggiore di questa cifra, confronta il divisore con due cifre del dividendo, e così via, finché il divisore non è minore del numero in questione. Nel nostro esempio, confronta 4 e 1, nota che 4> 1, quindi confronta 4 con 17.
- Scrivi la prima cifra del quoziente sotto il divisore. Confrontando 4 e 17, vedrai che 17 ÷ 4 = 4 con resto, quindi scrivi 4 come prima cifra del quoziente sotto il divisore (4).
- Moltiplica e sottrai per trovare il resto. Moltiplicare la prima cifra del quoziente per il divisore; nel nostro esempio: 4 x 4 = 16. Scrivi 16 sotto 17, quindi sottrai 17 - 16 per trovare il resto di 1.
- Ripetere il confronto. Confronta il divisore 4 con il resto di 1, nota che 4> 1 e "porta" la cifra successiva del dividendo per confrontare 4 con 12. Poiché 12 ÷ 4 = 3 senza resto, scrivi 3 come seconda cifra di il quoziente. La risposta finale è 43.
2 Colonna divide due numeri binari. Ad esempio, 10101 ÷ 11. Qui 10101 è il dividendo e 11 è il divisore. Lascia abbastanza spazio per i calcoli.
3 Confronta il divisore con la prima cifra del dividendo. Nel caso dei numeri binari è più facile che con i numeri decimali: o il numero non è divisibile per il divisore e si scrive 0, oppure si divide e si scrive 1.
- 11> 1, quindi 1 non può essere diviso per 11. Scrivi 0 come prima cifra del quoziente (sotto il divisore).
4 Continua a confrontare i numeri dei divisori finché non ottieni 1. Nel nostro esempio:
- Confronta il divisore con le due cifre del dividendo. 11> 10. Scrivi 0 come seconda cifra del quoziente.
- Confronta il divisore con le tre cifre del dividendo. 11 101. Scrivi 1 come terza cifra del quoziente.
5 Calcola il resto. Moltiplica la cifra trovata (1) per il divisore (11) e scrivi il risultato sotto il dividendo (vale a dire, sotto le cifre corrispondenti). Nota che moltiplicando 1 per un divisore si ottiene sempre un divisore.
- Scrivi il divisore sotto il dividendo. Nel nostro esempio, scrivi 11 sotto le prime tre cifre (101) del dividendo.
- Sottrai 101 - 11 per ottenere il resto di 10. Se non ricordi come sottrarre i numeri binari, leggi questo articolo.
6 Ripetere i passaggi descritti finché non si risolve il problema. Aggiungi la cifra successiva del dividendo al resto per ottenere 100. Poiché 11 100, scrivi 1 come quarta cifra del quoziente. Ulteriori calcoli:
- scrivi 11 sotto 100 e sottrai per ottenere il resto di 1;
- aggiungi l'ultima cifra del dividendo al resto per ottenere 11;
- 11 = 11, quindi scrivi 1 come ultima cifra del quoziente.
- Non c'è resto, quindi il problema è risolto. Risposta: 00111 o solo 111.
7 Aggiungi un punto decimale (se necessario). A volte il risultato non è un numero intero. Se dopo aver utilizzato l'ultima cifra del dividendo, ottieni un resto, aggiungi ", 0" al dividendo e "," al quoziente, per "demolire" la cifra successiva e continuare il calcolo. Ripeti questo processo finché non ottieni il risultato desiderato, quindi arrotonda la risposta. Per arrotondare il risultato, elimina l'ultimo 0 o, se l'ultima cifra è 1, eliminala e aggiungi 1 alla nuova ultima cifra. Durante la programmazione, seguire uno degli algoritmi di arrotondamento standard per evitare errori durante la conversione tra numeri binari e decimali.
- La divisione di due numeri binari può comportare la ripetizione di una parte frazionaria; questo accade più spesso rispetto alla divisione dei numeri decimali.
- Si prega di notare che il punto decimale viene utilizzato non solo in decimale, ma anche in notazione binaria.
Metodo 2 di 2: Supplementi
1 Comprendere i principi di base. Per dividere due numeri (sia decimali che binari), puoi sottrarre il divisore dal dividendo e poi successivamente sottrarre il divisore dai resti fino ad ottenere un numero negativo; in questo caso è necessario contare quante sottrazioni sono state eseguite. Ad esempio, calcola 26 ÷ 7:
- 26 - 7 = 19 (1 sottrazione)
- 19 - 7 = 12 (2)
- 12 - 7 = 5 (3)
- 5 - 7 = -2. Un numero negativo, quindi non è necessario sottrarre ulteriormente. Risposta: 3 con resto di 5. Nota che questo metodo non calcola la parte frazionaria della risposta.
2 Comprendere le basi del metodo di addizione. Il metodo sopra può essere applicato ai numeri binari, oppure è possibile utilizzare un metodo più efficiente che consente di risparmiare tempo durante la programmazione della divisione dei numeri binari. Questo metodo è chiamato metodo del complemento. Ad esempio, sottrai 111 - 011 (entrambi i numeri devono avere lo stesso numero di cifre):
- Trova il complemento al secondo numero. Per fare ciò, sottrai ogni cifra di questo numero da 1. In binario, sostituisci semplicemente 1 con 0 e 0 con 1. Nel nostro esempio, 011 diventa 100.
- Aggiungi 1: 100 + 1 = 101. Questo processo è chiamato complemento a due e ti consente di sostituire la sottrazione con l'addizione. Fondamentalmente, questo metodo consiste nell'aggiungere un numero negativo invece di sottrarre uno positivo.
- Aggiungi il risultato al primo numero. Annota e calcola l'operazione di addizione: 111 + 101 = 1100.
- Trascina la prima cifra del tuo risultato per ottenere la risposta finale: 1100 → 100.
3 Combina i due metodi descritti sopra. Il primo metodo è il metodo di sottrazione sequenziale e il secondo è il metodo del complemento a due. Questi metodi possono essere combinati in uno per utilizzarlo per dividere i numeri (il processo di combinazione dei metodi è descritto di seguito). Se vuoi, prova a capire come combinare i due metodi da solo.
4 Sottrai il divisore dal dividendo, sostituendo la sottrazione con l'addizione in complemento a due. Ad esempio: 100011 ÷ 000101.Innanzitutto, trasforma la sottrazione 100011 - 000101 in addizione utilizzando il complemento a due:
- Complemento a due: 000101 = 111010 + 1 = 111011
- Addizione: 100011 + 111011 = 1011110
- Sbarazzati della prima cifra: 011110
5 Aggiungi 1 al quoziente. In un programma per computer, questa è una stringa in cui il quoziente viene incrementato di uno. Prendi nota su carta per evitare confusione. Hai sottratto con successo una volta, quindi il quoziente è 1 a questo punto.
6 Ripetere il processo descritto. Per fare ciò, sottrarre il divisore dal resto. Il resto è il risultato dell'ultimo calcolo. Sostituisci l'operazione di sottrazione con l'addizione: aggiungi il divisore in complemento a due al resto, quindi elimina la prima cifra del risultato. Dopo ogni sottrazione, aggiungi al quoziente 1. Ripeti il processo sopra fino a quando il resto è uguale o inferiore al divisore:
- 011110 + 111011 = 1011001 → 011001 (quoziente 1 + 1 = 10)
- 011001 + 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 è inferiore a 101, quindi non è necessario eseguire ulteriori calcoli. Privato 111 è il risultato finale dell'operazione di divisione. Il resto è il risultato finale dell'operazione di sottrazione; nel nostro esempio è 0 (nessun resto).
Consigli
- Ignora il bit di segno nei numeri binari con segno a meno che non sia necessario sapere se il risultato è positivo o negativo.
- Il metodo del complemento a due non si applica se i numeri contengono numeri diversi di cifre. In questo caso, aggiungere il numero corrispondente 0 al numero inferiore (a sinistra).
- Le istruzioni per aumentare, diminuire o estrarre lo stack devono essere considerate prima di applicare le operazioni binarie alle istruzioni macchina.