• Hem
  • Kemi
  • Astronomi
  • Energi
  • Natur
  • Biologi
  • Fysik
  • Elektronik
  • Konvertera negativa tal till binära tal:En praktisk guide till tvåkomplement

    Av Kevin Beck Uppdaterad 30 augusti 2022

    scyther5/iStock/GettyImages

    Negativa tal är ett bekant begrepp, men att konvertera dem till binära tal kan kännas kontraintuitivt om du bara är van vid decimalaritmetik. Inom datavetenskapens värld gör en standardiserad metod – tvåkomplement – denna omvandling både enkel och tillförlitlig.

    Eftersom datorer bearbetar information i binärt tillstånd – antingen 0 (av) eller 1 (på) – utförs alla aritmetiska operationer, inklusive hantering av negativa värden, med dessa två siffror. Den här designen är anledningen till att du kommer att se termer som bit, nybble (4 bitar), byte (8 bitar), ord och långt ord i teknisk dokumentation.

    Vad är binära tal?

    I ett binärt system representerar varje position en ökande potens av två:1, 2, 4, 8, 16, och så vidare. En binär sträng som 0101 har ett decimalvärde på 5 eftersom 1:orna upptar 1- och 4-platserna (1+4=5). På samma sätt översätts byten 10011100 till 128+16+8+4=156 i decimal.

    Komplementet av ett binärt tal erhålls genom att vända varje bit – ändra 0:or till 1:or och 1:or till 0:or. Till exempel är komplementet till 10011100 01100011.

    Exempel på binära tal

    Dessa enkla konverteringar illustrerar hur binära värden mappas till decimaltal och hur komplementoperationen utförs.

    Konvertera negativa tal till binära

    För att koda ett negativt decimaltal i binärt, förlitar sig programmerare på tvås komplement. Denna teknik instruerar processorn att behandla alla binära tal som börjar med en 1 som negativa. Konverteringsstegen är:

    1. Konvertera talets absoluta värde till binärt.
    2. Beräkna dess komplement genom att vända varje bit.
    3. Lägg till en till det kompletterade värdet.

    Låt oss till exempel konvertera –47:

    1. Binär för +47:00011111
    2. Komplement:11100000
    3. Lägg till en:11100001

    Resultatet, 11100001, är de tvås komplementrepresentation av –47, med den ledande 1:an som signalerar ett negativt värde. Denna metod används universellt över hårdvaru- och mjukvaruplattformar, vilket säkerställer konsekvent hantering av signerade heltal.




    © Vetenskap & Upptäckter https://sv.scienceaq.com