Videnskab
 Science >> Videnskab & Opdagelser >  >> Matematik

Konvertering af negative tal til binære tal:En praktisk guide til tos komplement

Af Kevin Beck Opdateret 30. august 2022

scyther5/iStock/GettyImages

Negative tal er et velkendt begreb, men at konvertere dem til binære tal kan føles kontraintuitivt, hvis du kun er vant til decimalregning. I computervidenskabens verden gør en standardiseret metode – tos komplement – denne konvertering både enkel og pålidelig.

Fordi computere behandler information i en binær tilstand - enten 0 (fra) eller 1 (til) - udføres alle aritmetiske operationer, inklusive håndtering af negative værdier, i sidste ende ved hjælp af disse to cifre. Dette design er grunden til, at du vil se udtryk som bit, nybble (4 bit), byte (8 bit), word og long word på tværs af teknisk dokumentation.

Hvad er binære tal?

I et binært system repræsenterer hver position en stigende potens på to:1, 2, 4, 8, 16 og så videre. En binær streng som f.eks. 0101 har en decimalværdi på 5, fordi 1'erne optager 1- og 4-pladserne (1+4=5). Ligeledes oversættes byten 10011100 til 128+16+8+4=156 i decimal.

Komplementet af et binært tal opnås ved at spejlvende hver bit - ændre 0'ere til 1'ere og 1'ere til 0'ere. Komplementet af 10011100 er f.eks. 01100011.

Eksempler på binære tal

Disse simple konverteringer illustrerer, hvordan binære værdier afbildes til decimaltal, og hvordan komplementoperationen udføres.

Konvertering af negative tal til binære tal

For at kode et negativt decimaltal i binært, stoler programmører på tos komplement. Denne teknik instruerer processoren til at behandle ethvert binært tal, der starter med et 1, som negativt. Konverteringstrinene er:

  1. Konverter den absolutte værdi af tallet til binært.
  2. Beregn dets komplement ved at vende hver bit.
  3. Tilføj én til den supplerede værdi.

Lad os for eksempel konvertere –47:

  1. Binær for +47:00011111
  2. Supplement:11100000
  3. Tilføj én:11100001

Resultatet, 11100001, er de to komplementære repræsentationer af -47, hvor den førende 1 signalerer en negativ værdi. Denne metode er universelt anvendt på tværs af hardware- og softwareplatforme, hvilket sikrer ensartet håndtering af signerede heltal.




Varme artikler