crowde.ru

Verdeling met binaire getallen

Binaire verdelingstaken kunnen worden opgelost met schriftelijke verdeling, een handige methode om de procedure te leren of om een ​​eenvoudig computerprogramma te schrijven. Als alternatief biedt de complementaftrekkingsmethode een aanpak die u misschien niet kent, maar deze wordt niet zo vaak gebruikt bij het programmeren. Machinetalen gebruiken meestal een schattingsalgoritme dat efficiënter is, maar het wordt hier niet beschreven.

Methode 1
Met schriftelijke verdeling

Titel afbeelding Divide Binary Numbers Step 1
1
Herhaling van de geschreven verdeling. hebben als het een tijdje geleden dat je een staartdeling met de gewone decimaal (basis tien) maakte de basis te herhalen op basis van de taak 172: 4. Ga anders door naar de volgende stap om hetzelfde proces met binaire getallen te leren.
  • de dividend is door de deler gedeeld, en het resultaat is de quotiënt.
  • Vergelijk de deler met het eerste cijfer van het dividend. Als de deler het grootste getal is, voegt u cijfers toe aan het dividend totdat de deler het kleinere getal is. Als we bijvoorbeeld 172: 4 berekenen, vergelijken we 4 en 1. 4 is groter dan 1, dus vergelijken we 4 met 17.
  • Schrijf het eerste cijfer van het quotiënt boven het laatste cijfer van het dividend dat we in de vergelijking hebben gebruikt. Als we 4 en 17 vergelijken, zien we dat 4 vier keer in 17 gaat en daarom schrijven we er 4 als het eerste cijfer van ons quotiënt boven de 7.
  • Vermenigvuldigen en aftrekken om de rest te bepalen. Vermenigvuldig het quotiënt cijfer met de deler, in dit geval 4 * 4 = 16. Schrijf de 16 in de 17, trek dan 16 af van 17 om de rest van 1 te krijgen.
  • Herhaal het. We vergelijken opnieuw de deler 4 met het volgende cijfer, 1. 4 is groter dan 1, dus noteren we het volgende cijfer van het dividend en vergelijken we 4 met 12. 4 gaat drie keer zonder residu in 12, dus we schrijven 3 als het volgende cijfer van het quotiënt. Het resultaat is 43.
  • Titel afbeelding Divide Binary Numbers Step 2
    2
    Noteer de binaire geschreven verdeling. Laten we kijken naar voorbeeld 10101: 11. Schrijf het als een geschreven divisie, met 10101 als een dividend en 11 als een deler. Laat aan de boven- en onderkant wat ruimte vrij om het quotiënt en je rekening te schrijven.
  • Titel afbeelding Divide Binary Numbers Step 3
    3
    Vergelijk de deler met het eerste cijfer van het dividend. Het werkt op dezelfde manier als het schrijven van een decimale getalsdeling, maar het is eigenlijk een beetje makkelijker met binaire getallen. Je kunt het getal niet delen door de deler (0) of de deler gaat erin (1):
  • 11> 1, dat "gaat" 11 is niet in de eerste schrijven 0 als eerste cijfer van het quotiënt (meer dan het eerste cijfer van dividenden).
  • Titel afbeelding Divide Binary Numbers Step 4
    4
    Voeg het volgende cijfer toe en herhaal het totdat je een 1 krijgt. Dit zijn de volgende stappen naar ons voorbeeld:
  • Noteer het volgende cijfer van het dividend. 11> 10. Schrijf een 0 in het quotiënt.
  • Schrijf het volgende cijfer naar beneden. 11 < 101. Schrijf een 1 in het quotiënt.
  • Titel afbeelding Divide Binary Numbers Step 5
    5
    Bepaal de rest. Net als bij de geschreven verdeling van decimalen vermenigvuldigen we het getal dat we zojuist hebben gevonden (1) door de deler (11) en schrijven we het resultaat onder de dividenden net onder het getal dat we zojuist hebben berekend. Voor binaire getallen kunnen we afkorten, omdat 1 keer de deler altijd gelijk is aan de deler:
  • Schrijf de deler onder de dividenden. Hier schrijven we 11 van de eerste drie cijfers (101) van het dividend.
  • Bereken 101 - 11 om de rest te krijgen, 10. Lees het opnieuw, hoe binaire getallen af ​​te trekken, indien nodig.
  • Titel afbeelding Divide Binary Numbers Step 6
    6
    Herhaal deze stappen totdat de taak is voltooid. Schrijf het volgende cijfer van de deler voor de rest en ontvang 100. Sinds 11 < 100, schrijf een 1 als het volgende cijfer in het quotiënt. Doorgaan als eerder:
  • Schrijf 11 onder 100 en trek af om 1 te krijgen.
  • Noteer het laatste cijfer van het dividend en krijg 11.
  • 11 = 11, schrijf een 1 als het laatste cijfer van het quotiënt (het resultaat).
  • Er is geen rust, dus de taak is volledig opgelost. Het resultaat is 00111 of gewoon 111.
  • Titel afbeelding Divide Binary Numbers Step 7
    7
    Voeg zo nodig een komma toe. Soms is het resultaat geen geheel getal. Als er nog steeds een rest is na het gebruik van het laatste cijfer, voeg dan ", 0" toe aan de dividenden en "," aan het quotiënt, zodat we nog een plaats kunnen toevoegen en verder kunnen gaan. Herhaal dit totdat je de gewenste nauwkeurigheid hebt bereikt en rond dan het resultaat af. Op het papier kunt u afronden als u net na het laatste cijfer stopt, als het volgende cijfer een nul is, of als het volgende cijfer een 1 is, laat het dan vallen en voeg 1 toe aan het nieuwe laatste cijfer. Volg een van de standaard afrondingsalgoritmen om fouten te voorkomen bij het converteren tussen binaire en decimale getallen.
  • Binaire deeltaken eindigen met het vaker herhalen van breuken dan ze voorkomen in decimale notatie.
  • De komma wordt ook vaak het "Radix Point" genoemd en kan op elke basis worden gebruikt.
  • Methode 2
    De complementatiemethode

    Titel afbeelding Divide Binary Numbers Step 8
    1
    Begrijp het basisidee. de deler af te trekken van de uitkering, dan trekt de deler van de rest, enzovoort, en tellen hoe vaak de aftrekking kan worden uitgevoerd is een manier om verdeling taken (in elke basis) oplossen totdat je een negatief cijfer krijgt. Hier is een voorbeeld voor base tien, de berekening van taak 26: 7:
    • 26 - 7 = 19 (1 Tijden afgetrokken)
    • 19 - 7 = 12 (2)
    • 12 - 7 = 5 (3)
    • 5 - 7 = -2. Negatief nummer, dus we stoppen. Het resultaat is 3 met rest 5. Merk op dat deze methode geen breuken van het resultaat berekent.
  • Titel afbeelding Divide Binary Numbers Step 9
    2
    Leer aftrekken met behulp van het complement. Hoewel we net zo goed de hierboven beschreven methode voor binaire getallen kunnen gebruiken, kunnen we ook aftrekken met een efficiëntere methode, wat tijd bespaart bij het programmeren van computers in binaire getalverdelingen. Dit is de procedure "Aftrekken door middel van aanvullingen" voor binaire getallen. Hier zijn de basisprincipes, weergegeven in de berekening van 111-011 (zorg dat beide nummers even lang zijn):
  • Bepaal het complement van het tweede getal door elk cijfer van 1 af te trekken. In het binaire systeem kunt u het gemakkelijk maken door elke 1 tot 0 en elke 0 tot 1 te maken. In ons voorbeeld wordt 011 100.
  • Voeg 1 toe aan het resultaat: 100 + 1 = 101. Dit wordt het complement van de twee genoemd en we kunnen aftrekkingen doen als toevoegingstaken. In essentie is het resultaat uiteindelijk dat we een negatief getal hebben toegevoegd in plaats van een positief getal af te trekken.
  • Voeg het resultaat toe aan het eerste cijfer. Schrijf en los de toevoegtaak op: 111 + 101 = 1100.
  • Verwijder het carry-cijfer. Verwijder het eerste cijfer van het resultaat om het eindresultaat te krijgen. 1100 rarr- 100.
  • Titel afbeelding Divide Binary Numbers Step 10
    3
    Combineer de twee bovenstaande concepten. U kent nu de aftrekmethode voor het oplossen van divisieproblemen en de twee-complementmethode voor het oplossen van aftrekkroblemen. U kunt ze beide combineren in een procedure voor het opsplitsen van deeltaken met behulp van de volgende stappen. Als je wilt, kun je het zelf proberen te ontdekken voordat je verder leest.
  • Titel afbeelding Divide Binary Numbers Step 11
    4
    Extraheer de deler van het dividend door het 2`s-complement toe te voegen. Laten we naar taak 100011: 000101 kijken. De eerste stap is om 100011 - 000101 op te lossen met de twee-complementmethode om er een toevoegtaak van te maken:
  • Het complement van twee van 000101 = 111010 + 1 = 111011
  • 100011 + 111011 = 1011110
  • Verwijder de versleping → 011110
  • Titel afbeelding Divide Binary Numbers Step 12
    5
    Voeg 1 toe aan het quotiënt. In een computerprogramma wordt het quotiënt nu met 1 verhoogd. Maak een notitie in een hoek op het papier zodat het je resterende rekening niet in de weg staat. We hebben één keer met succes afgetrokken en het quotiënt is op dit moment 1.
  • Titel afbeelding Divide Binary Numbers Step 13
    6
    Herhaal dit door de deler van de rest af te trekken. Het resultaat van de laatste berekening is de rest die is overgebleven nadat de deler eenmaal "naar binnen ging". Ga verder door telkens het complement van de twee toe te voegen en de carry bit uit te laten. Voeg elke keer 1 toe aan het quotiënt en herhaal alles totdat je een rest krijgt die kleiner is dan of gelijk is aan je deler:
  • 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 minder dan 101, dus we stoppen hier. Het quotiënt 111 is het resultaat van de taakverdeling. De rest is het eindresultaat van onze aftrektaak, in dit geval 0 (geen rest).
  • tips

    • De instructies voor het verhogen, decrementeren of lezen van de stapel moeten worden overwogen voordat binaire wiskunde wordt toegepast in een machinetaalprogramma.
    • Negeer de tekenpositie voor getekende binaire getallen, behalve wanneer wordt bepaald of het resultaat positief of negatief is.
    • De complementtractiemethode van de twee complementeert niet als uw cijfers een verschillend aantal cijfers hebben. Voeg nullen toe aan het begin van het kleinere getal om het probleem op te lossen.
    Delen op sociale netwerken:

    Verwant