Eftersom det binära nummersystemet har endast två symboler - 1 och 0 - representerar negativa tal inte lika enkelt som att lägga till ett minustecken framför. Det finns dock enkla sätt att representera ett negativt tal i binärt. Denna artikel kommer att erbjuda tre lösningar på det problemet.
Använd en Signbit
Välj antal bitar du ska använda för att representera dina binära nummer. Ett åtta bitars nummer har länge använts som standard. Det var den ursprungliga storleken för ett heltal i datorprogrammering. Naturligtvis finns det också långa heltal (16 bitar). Obs! Om du använder ett åtta bitars heltal, kommer endast sju bitar att användas för att representera ditt faktiska nummer.
Välj den vänstra delen för att fungera som en teckenbit. Om biten är 0 är siffran positiv. Om det är 1, är siffran negativ.
Skriv ditt negativa tal med alla åtta bitarna. Därför skulle talet -5 skrivas som 10000101.
Använda 1s Kompliment
Skriv numret i binärt som du vill om det var positivt. Skriv igen 5 som 00000101, förutsatt att vi använder åtta bitars heltal.
Vänd om siffrorna - dvs. 1s går till 0s och 0s går till 1s. Därför blir 5 11111010.
Använd den vänstra bit som teckenbit. Såsom med att använda en teckenbit kommer positiva tal alla att ha en 0 ledande bit (när de skrivs i ett 8-bitarsformat) medan alla negativa tal kommer att innehålla en ledande 1. För att använda numret, använd teckenbitinformationen och vrid den siffror tillbaka för numeriskt värde.
Använda 2s Kompliment
Skriv numret som du vill som om det var positivt, med alla åtta bitarna. Så 5 är 00000101.
Invertera bitarna, byta 1s och 0s som du gjorde med 1s komplimang. Så blir 5 igen 11111010.
Lägg till 1 till ditt nummer. Så blir 511111010 + 00000001 = 11111011.
Kontrollera ditt svar. Numret 11111011 skulle konverteras tillbaka till bas 10: -128 + 64 + 32 + 16 + 8 + 0 + 2 + 1 = -5.