Tweecomplement berekenen

Hier kunt u het tweecomplement berekenen en gehele getallen met teken binair weergeven. Voorbeeld: −42 is in 8 bit 1101 0110.

Bron: Hennessy/Patterson, Computer Organization and Design, Kap. „Signed and Unsigned Numbers“ (Zweierkomplement). Bijgewerkt: .

Geheel getal met teken. Duizendtalpunten zijn toegestaan (1.024).
Mijn toolboxJe invoer wordt alleen in deze browser opgeslagen.

Resultaat

Resultaat
-42 = 1101 0110 (tweecomplement, 8 bit)
Alle weergaven
GrootheidWaarde
Decimale waarde-42
Tweecomplement1101 0110
Weergave als eencomplement1101 0101
Hexadecimaal0xD6
Waardebereik-128 … 127
Absolute waarde binair0010 1010
Rekenstappen
  • Absolute waarde |-42| binair (8 bit): 0010 1010.
  • Alle bits omkeren (eencomplement): 1101 0101.
  • 1 optellen (tweecomplement): 1101 0110.
Het tweecomplement is de gebruikelijke manier om gehele getallen met teken op te slaan. Er is één nul en het bereik is −2^(n−1) tot 2^(n−1) − 1.

Zo wordt het berekend

Het tweecomplement is de standaardweergave van negatieve gehele getallen in computers. Het hoogste bit fungeert als teken en optellen en aftrekken werken met dezelfde schakeling, zonder uitzonderingen.

Zo wordt omgezet

Een niet-negatief getal schrijft u gewoon binair en vult u links aan met nullen. Voor een negatief getal: schrijf de absolute waarde binair, keer alle bits om (eencomplement) en tel 1 op. Omgekeerd: is het hoogste bit 1, dan is de waarde u − 2ⁿ, waarbij u de bitreeks is gelezen als getal zonder teken. Met n bit kunt u −2^(n−1) tot 2^(n−1) − 1 weergeven, bij 8 bit dus -128 tot 127.

Voorbeeld

−42 in 8 bit: de absolute waarde 42 is 0010 1010. Omkeren geeft 1101 0101 (eencomplement), 1 optellen geeft 1101 0110, hexadecimaal D6. Controle: 1101 0110 gelezen zonder teken is 214, en 214 − 256 = -42. De reeks 1000 0000 staat voor -128, het kleinste 8-bitgetal; +128 past er niet meer in. In 16 bit is −1 gelijk aan FFFF hexadecimaal. Gelezen als eencomplement zou 1101 0110 de waarde -41 hebben.

Veelgestelde vragen

Hoe zet je een negatief getal om naar tweecomplement?

Schrijf de absolute waarde binair, keer alle bits om en tel 1 op. Voor −42 in 8 bit: 0010 1010 → 1101 0101 → 1101 0110.

Wat is het verschil tussen eencomplement en tweecomplement?

Het eencomplement keert alleen de bits om; het tweecomplement telt daarna 1 op. Zo is er één nul en werkt rekenen zonder bijzondere regels.

Welk bereik heeft een byte in tweecomplement?

Bij 8 bit van -128 tot 127, dus 256 verschillende waarden.

Bronnen en wettelijke basis

Bijgewerkt op: · Redactioneel beleid

Vergelijkbare tools