Binair aftrekken
We kunnen het ene binaire getal van het andere aftrekken door gebruik te maken van de standaardtechnieken die zijn aangepast voor decimale getallen (aftrekken van elk bitpaar, van rechts naar links, "lenen" indien nodig van bits naar links). Als we echter de al bekende (en gemakkelijkere) techniek van binaire optelling kunnen gebruiken om af te trekken, zou dat beter zijn.
Zoals we zojuist hebben geleerd, kunnen we negatieve binaire getallen weergeven met behulp van de "twee-complement"-methode en een negatief plaatsgewicht-bit. Hier gebruiken we die negatieve binaire getallen om af te trekken door middel van optellen.
Hier is een voorbeeldprobleem:
Aftrekken:710 - 510 Toevoeging equivalent:710 + (-510 )
Als alles wat we hoeven te doen is zeven en min vijf in binaire vorm (twee-complement) weer te geven, hebben we alleen drie bits nodig plus het negatieve gewichtsbit:
positieve zeven =01112 min vijf =10112
Laten we ze nu bij elkaar optellen:
Aangezien we ons nummerbitveld al hebben gedefinieerd als drie bits plus het bit met negatief gewicht, wordt het vijfde bit in het antwoord (1) weggegooid om ons een resultaat van 00102 te geven , of positief twee, wat het juiste antwoord is.
Een andere manier om te begrijpen waarom we dat extra bit weggooien, is te onthouden dat het meest linkse bit van het lagere getal een negatief gewicht heeft, in dit geval gelijk aan min acht.
Wanneer we deze twee binaire getallen bij elkaar optellen, trekken we eigenlijk de MSB van het lagere getal af van de MSB van het bovenste getal. Bij aftrekken "draagt" men nooit een cijfer of bit naar het volgende linker plaatsgewicht.
Laten we een ander voorbeeld proberen, dit keer met grotere aantallen. Als we -2510 . willen toevoegen tot 1810 , moeten we eerst beslissen hoe groot ons binaire bitveld moet zijn.
Om het grootste (absolute waarde) getal in ons probleem, dat vijfentwintig is, weer te geven, hebben we ten minste vijf bits nodig, plus een zesde bit voor het bit met negatief gewicht. Laten we beginnen met het representeren van positief vijfentwintig, dan het complement van de twee vinden en alles samenvoegen tot één nummering:
+2510 =0110012 (laat alle zes bits zien) Een complement van 110012 =1001102 Het complement van één + 1 =complement van twee =1001112 -2510 =1001112
In wezen vertegenwoordigen we min vijfentwintig door het negatieve gewicht (zesde) bit te gebruiken met een waarde van min tweeëndertig plus positieve zeven (binair 1112 ).
Aangezien er geen "extra" bits aan de linkerkant waren, zijn er geen bits om weg te gooien. Het meest linkse deel van het antwoord is een 1, wat betekent dat het antwoord negatief is, in de vorm van twee complementen, zoals het hoort. Als we het antwoord omzetten in decimale vorm door alle bits maal hun respectieve gewichtswaarden op te tellen, krijgen we:
(1 x -3210 ) + (1 x 1610 ) + (1 x 810 ) + (1 x 110 ) =-710
Inderdaad -710 is de juiste som van -2510 en 1810 .
GERELATEERDE WERKBLAD:
- Werkblad binaire wiskunde
Industriële technologie