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.
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.
Disse simple konverteringer illustrerer, hvordan binære værdier afbildes til decimaltal, og hvordan komplementoperationen udføres.
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:
Lad os for eksempel konvertere –47:
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



