Getal representaties

Getekende getalvoorstellingen worden gebruikt om het probleem op te lossen van het voorstellen van negatieve gehele getallen in binair. Het probleem bij het opslaan van het negatieve teken (-) van een binair getal is dat er geen toestanden meer zijn om de negatieve toewijzing mee weer te geven. Het is niet mogelijk om gewoon "off" te gebruiken voor min en "on" voor plus, omdat de computer dan niet zou kunnen weten of het om een cijfer of een teken gaat.

Om dit probleem op te lossen hebben computerontwerpers twee methoden uitgevonden om negatieve binaire getallen op te slaan: teken-en-komma en 2's complement. Deze geven alternatieve voorstellingen voor getallen met voorteken.

Teken-en-magnitude

Sign and Magnitude werkt door het meest significante bit (MSB - het eerste cijfer) te veranderen in een 1 als het getal negatief is, en het getal bijvoorbeeld met één te verminderen:

0000 0010 (2)

zal worden...

1000 0010 (-2)

Deze methode om negatieve binaire getallen op te slaan werkt niet omdat:

  • Binair rekenen werkt niet.
  • We moeten eerst weten welk opslagmechanisme de compiler van een bepaalde taal gebruikt.

1's complement

1's Complement werkt door het verwisselen van 1's voor 0's en de 0's voor 1's bijvoorbeeld:

0000 0010 (2)

zal worden...

1111 1101 (-2)

Net als de teken-en-magnitude-methode is dit gemakkelijk te definiëren als een negatief getal omdat het meest significante bit 1 is

2's complement

2's Complement is een moeilijkere manier om negatieven op te slaan. Er zijn drie stappen voor:

  1. Zoek het positieve binaire getal (b.v. 8base 10 = 0000 1000base 2).
  2. Verwissel de 1's voor 0's en de 0's voor 1's (b.v. 0000 1000base 2 wordt 1111 0111base 2).

Dit staat bekend als "flipping the bits", oftewel het toepassen van logische NOT op de oorspronkelijke basis 2 voorstelling.

  1. Voeg 1 toe (b.v. 1111 0111base 2 + 1base 2 = 1111 1000base 2).

Deze methode is geliefd omdat:

  • Het is net als teken en magnitude; een negatief getal begint met een 1 en een positief getal begint met een 0.
  • De binaire rekenkunde zal werken.
  • Er is slechts één waarde voor 0 (0000 0000base 2).

AlegsaOnline.com - 2020 / 2023 - License CC3