Inhoud
Omdat het binaire getallenstelsel slechts twee symbolen heeft - 1 en 0 - die negatieve getallen voorstellen, is niet zo eenvoudig als het toevoegen van een minteken ervoor. Er zijn echter eenvoudige manieren om een negatief getal in binair getal weer te geven. Dit artikel biedt drie oplossingen voor dat probleem.
Gebruik een tekenbit
Selecteer het aantal bits dat u wilt gebruiken om uw binaire getallen weer te geven. Een nummer van acht bits wordt al lang standaard gebruikt. Het was de oorspronkelijke grootte voor een geheel getal in computerprogrammering. Natuurlijk zijn er ook lange gehele getallen (16 bits). Opmerking: als u een geheel getal van acht bits gebruikt, worden slechts zeven bits gebruikt om uw werkelijke aantal weer te geven.
Selecteer het meest linkse bit om als tekenbit te dienen. Als het bit 0 is, is het nummer positief. Als het 1 is, is het aantal negatief.
Schrijf uw negatieve getal met alle acht bits. Daarom zou het getal -5 worden geschreven als 10000101.
1s Compliment gebruiken
Schrijf het getal in binair getal zoals je zou doen als het positief was. Nogmaals, schrijf 5 als 00000101, ervan uitgaande dat we acht-bits gehele getallen gebruiken.
Keer de cijfers om - d.w.z. 1s gaat naar 0s en 0s gaat naar 1s. Daarom wordt 5 11111010.
Gebruik het meest linkse bit als het tekenbit. Dus net als bij het gebruik van een tekenbit, hebben positieve getallen allemaal een 0-voorloopbit (wanneer geschreven in een 8-bits indeling) terwijl alle negatieve getallen een voorloop 1 bevatten. Om het nummer te gebruiken, gebruikt u de informatie van het tekenbit en draait u de cijfers terug voor numerieke waarde.
Met behulp van 2s Compliment
Noteer het nummer zoals u zou doen alsof het positief was, met alle acht bits. Dus 5 is 00000101.
Keer de bits om, schakel de 1'en en 0'en om zoals je deed met 1s-compliment. Dus nogmaals, 5 wordt 11111010.
Voeg 1 toe aan je nummer. Dus 5 wordt 11111010 + 00000001 = 11111011.
Kijk je antwoord na. Het nummer 11111011 zou zijn, teruggezet naar base 10: -128 + 64 + 32 + 16 + 8 + 0 + 2 + 1 = -5.