PDF download Pdf downloaden PDF download Pdf downloaden

Het delen van binaire getallen kan worden opgelost met behulp van staartdelen, een handige methode voor het jezelf aanleren van de procedure of het schrijven van een eenvoudig computerprogramma. Als alternatief biedt de complementmethode van herhaald aftrekken een benadering waar je misschien niet bekend mee bent, hoewel niet echt algemeen gebruikt in het programmeren. [1] Machinetalen gebruiken meestal een schattingsalgoritme voor meer efficiëntie, maar deze worden hier niet beschreven. [2]

Methode 1
Methode 1 van 2:

Staartdeling gebruiken

PDF download Pdf downloaden
  1. Is het een tijd geleden dat je een staartdeling hebt gedaan met gewone decimale (grondtal 10) getallen, neem dan de basis ervan nog eens door voor de opgave 172 ÷ 4. Sla dit anders over en ga naar de volgende stap om deze procedure te leren voor binaire getallen.
    • Het deeltal wordt gedeeld door de deler , en het antwoord is het quotiënt .
    • Vergelijk de deler met het eerste cijfer in het deeltal. Als de deler het grootste getal is, blijf dan cijfers toevoegen aan het deeltal tot de deler het kleinste getal is. (Als voorbeeld: bij de berekening van 172 ÷ 4, vergelijken we 4 en 1, ontdekken we dat 4 > 1, en vergelijken dan dus 4 met 17.)
    • Schrijf het eerste cijfer van het quotiënt boven het laatste cijfer van het deeltal gebruikt voor het vergelijken. Na het vergelijken van 4 en 17 merken we op dat 4 viermaal in 17 gaat, dus schijven we 4 als het eerste cijfer van ons quotiënt, boven de 7.
    • Vermenigvuldig en trek af voor het vinden van de rest. Vermenigvuldig het quotiënt met de deler, in dit geval 4 x 4 = 16. Schrijf de 16 onder de 17, en doe daarna 17 - 16 voor de rest, 1.
    • Herhaal. Nogmaals vergelijken we de deler 4 met het volgende cijfer, 1, merken we op dat 4 > 1, en "brengen" we het volgende cijfer van het deeltal naar beneden, om in plaats daarvan 4 met 12 te vergelijken. 4 gaat driemaal in 12 zonder rest, dus kunnen we 3 noteren als het volgende cijfer van het quotiënt. Het antwoord is 43.
  2. Stel we gebruiken als voorbeeld 10101 ÷ 11. Noteer dit als een staartdeling, met 10101 als het deeltal en 11 als de deler. Laat er ruimte boven vrij om het quotiënt te kunnen noteren, en schrijf je berekeningen eronder.
  3. Dit werkt op dezelfde manier als een decimale staartdeling, maar is eigenlijk een stuk gemakkelijker in binaire vorm. Of je kunt het getal niet delen door de deler (0), of de deler past er eenmaal in (1):
    • 11 > 1, dus 11 "past niet in" 1. Schrijf een 0 als het eerste cijfer van het quotiënt (boven het eerste cijfer van het deeltal).
  4. Hier volgen de volgende paar stappen van ons voorbeeld:
    • Breng het volgende cijfer van het deeltal naar beneden. 11 > 10. Schrijf een 0 in het quotiënt.
    • Breng het volgende cijfer naar beneden. 11 < 101. Schrijf een 1 in het quotiënt.
  5. als in een decimale staartdeling, we vermenigvuldigen het cijfer dat we net hebben gevonden (1) met de deler (11), en schrijf het resultaat onder ons deeltal op een lijn met het cijfer dat we net hebben berekend. In binaire vorm kunnen we dit sneller doen, omdat 1 x de deler altijd gelijk is aan de deler:
    • Schrijf de deler onder het deeltal. Hier noteren we dit als 11 onder de eerste drie cijfers (101) van het deeltal.
    • Bereken 101 - 11 voor het de rest, 10. Neem nog eens door hoe je binaire getallen van elkaar af kunt trekken, als je dat niet meer weet.
  6. Breng het volgende cijfer van de deler naar de rest eronder om 100 te krijgen. Omdat 11 < 100 noteer je een 1 als het volgende cijfer van het quotiënt. Ga verder met het uitwerken van het probleem als tevoren:
    • Schrijf 11 onder de 100 en trek deze getallen van elkaar af om 1 te krijgen.
    • Breng het laatste cijfer van het deeltal naar beneden en je krijgt 11 als antwoord.
    • 11 = 11, dus noteer je 1 als het laatste cijfer van het quotiënt (het antwoord).
    • Er is geen rest, dus de opgave is afgerond. Het antwoord is 00111 , of eenvoudiger, 111.
  7. Soms is het resultaat geen geheel getal. Zit je nog steeds met een rest na het gebruiken van het laatste cijfer, voeg dan een ".0" toe aan het deeltal en een "." aan je quotiënt, zodat je nog een cijfer naar beneden kunt brengen en verder kunt gaan. Blijf hiermee doorgaan tot je de gewenste nauwkeurigheid hebt bereikt, en rond je antwoord vervolgens af. Op papier kun je afronden door de 0 weg te laten of, als het laatste cijfer een 1 is, die weghalen en 1 bij het laatste cijfer optellen. Gebruik bij het programmeren een van de standaardalgoritmes voor het afronden, om fouten te voorkomen tijdens het converteren tussen binaire en decimale getallen. [3]
    • Het delen van binaire getallen resulteert vaak in repeterende getallen achter de komma, vaker dan die voorkomen bij een decimale notatie. [4]
    • Hiernaar wordt verwezen met de meer algemene term "radixpunt" die je tegenkomt in elk talstelsel, omdat je de "decimale punt" alleen tegenkomt binnen het decimale stelsel. [5]
    Advertentie
Methode 2
Methode 2 van 2:

Het gebruik van de complementmethode

PDF download Pdf downloaden
  1. Een manier om delingen op te lossen – voor elk grondtal – is door te blijven doorgaan met het aftrekken van de deler van het deeltal, en daarna van de rest, terwijl je turft hoe vaak je dit kunt blijven doen voor je aan een negatief getal komt. Hier volgt een voorbeeld voor het grondtal 10, de opgave 26 ÷ 7:
    • 26 - 7 = 19 ( 1 keer van elkaar afgetrokken)
    • 19 - 7 = 12 ( 2 keer van elkaar afgetrokken)
    • 12 - 7 = 5 ( 3 keer van elkaar afgetrokken)
    • 5 - 7 = -2. Negatief getal, dus weer omhoog. Het antwoord is 3 met een rest van 5. Merk op dat deze methode geen rekening houdt met cijfers achter de komma.
  2. 2
    Leer aftrekken met behulp van complementen. Hoewel je de bovenstaande methode gemakkelijk kunt toepassen op binaire getallen, kunnen we ook een meer efficiënte methode gebruiken, waarmee je bij het programmeren van binaire delingen tijd kunt besparen. Dit heet de binaire complementmethode. Hier volgt de basis, waarbij we 111 - 011 berekenen(zorg dat beide getallen dezelfde lengte hebben):
    • Vind het complement van de eenen van de tweede term, waarbij je elk cijfer aftrekt van 1. Dit kun je gemakkelijk doen bij binaire getallen door elke 1 op 0 te zetten en elke 0 op 1. [6] [7] In ons voorbeeld wordt 011 gelijk aan 100.
    • Tel 1 op bij het resultaat: 100 + 1 = 101. Dit heet het 2-complement. We gaan nu een minsom beschouwen als een optelsom. [8] De essentie is dat we de opgave beschouwen alsof we een negatief getal optellen in plaats van een positief getal af te trekken, na het afronden van de procedure.
    • Tel het resultaat op bij de eerste term. Los de optelsom op: 111 + 101 = 1100.
    • Laat het eerste cijfer (carry digit) weg. Haal het eerste cijfer van je antwoord weg, om het uiteindelijke resultaat te verkrijgen. 1100 → 100 .
  3. 3
    Combineer de twee bovenstaande concepten. Nu weet je hoe de aftrekmethode voor het oplossen van deelsommen werkt, en de 2-complementmethode voor het oplossen van minsommen. Je kunt deze twee combineren in één methode voor het oplossen van deelsommen, met behulp van de onderstaande stappen. [9] Als je wilt kun je het zelf proberen uit te vinden voor je verdergaat.
  4. Laten we de volgende opgave uitwerken: 100011 ÷ 000101. De eerste stap is het oplossen van 100011 - 000101, met behulp van de 2-complementmethode, zodat het een optelsom wordt:
    • 2-complement van 000101 = 111010 + 1 = 111011
    • 100011 + 111011 = 1011110
    • Laat het eerste cijfer weg (de carry) → 011110
  5. In een computerprogramma is dit het punt waarbij je het quotiënt verhoogt met 1. Op papier maak je een aantekening ergens in een hoek, waar het de rest van je werk niet in de war schopt. We hebben nu met succes eenmaal een minsom gedaan, dus is het quotiënt tot nu toe 1 .
  6. Het resultaat van onze laatste berekening is de rest die is overgebleven nadat de deler er eenmaal "in is gegaan". Ga verder met het optellen van de 2-complement van de deler en het weghalen van de carry. Tel elke keer 1 op bij het quotiënt, en ga hiermee door tot je een rest krijgt die gelijk is aan je kleinere deler: [10] [11]
    • 011110 + 111011 = 1011001 → 011001 (quotiënt 1+1=10 )
    • 011001 + 111011 = 1010100 → 010100 (quotiënt 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 is kleiner dan 101, dus nu kunnen we stoppen. Het quotiënt 111 is het antwoord op het deelprobleem. De rest is het uiteindelijke resultaat van onze minsom, in dit geval 0 (no rest).
    Advertentie

Tips

  • De instructies voor toename, afname of stapelen moeten in overweging worden genomen voor je een binaire berekening toepast op een reeks machine-instructies.
  • De 2-complementmethode voor minsommen werkt niet als de getallen bestaan uit een verschillend aantal cijfers. Voeg extra nullen toe aan het kleinere getal om dit op te lossen.
  • Negeer het signed cijfer in signed binaire getallen voor je de berekening maakt, behalve wanneer je probeert te achterhalen of een antwoord positief of negatief is.
Advertentie

Over dit artikel

Deze pagina is 11.220 keer bekeken.

Was dit artikel nuttig?

Advertentie