Hvordan konvertere negative tall til binær

Posted on
Forfatter: Laura McKinney
Opprettelsesdato: 7 April 2021
Oppdater Dato: 17 November 2024
Anonim
Hvordan konvertere negative tall til binær - Vitenskap
Hvordan konvertere negative tall til binær - Vitenskap

Innhold

Fordi det binære tallsystemet bare har to symboler - 1 og 0 - som representerer negative tall er ikke så enkelt som å legge til et minustegn foran. Det er imidlertid enkle måter å representere et negativt tall i binær. Denne artikkelen vil tilby tre løsninger på det problemet.

Bruk en skiltbit

    Velg antall biter du vil bruke for å representere de binære tallene dine. Et åtte-bits tall har lenge blitt brukt som standard. Det var den opprinnelige størrelsen for et helt tall i programmering av datamaskiner. Selvfølgelig er det også lange heltall (16 biter). Merk: Hvis du bruker et åtte-bits heltall, vil bare syv biter brukes til å representere det faktiske antallet.

    Velg den venstre biten for å fungere som en tegnbit. Hvis biten er 0, er tallet positivt. Hvis det er 1, er tallet negativt.

    Skriv det negative tallet ditt ved å bruke alle åtte bitene. Derfor ville tallet -5 skrives som 10000101.

Bruke 1s kompliment

    Skriv tallet binært slik du ville gjort hvis det var positivt. Skriv igjen 5 som 00000101, forutsatt at vi bruker åtte-bit-heltall.

    Inverter sifrene - dvs. 1s går til 0s og 0s går til 1s. Derfor blir 5 11111010.

    Bruk den venstre biten som tegnbiten. Så akkurat som med bruk av en tegnbit, vil positive tall alle ha en 0 ledende bit (når de er skrevet i et 8-biters format) mens alle negative tall vil inneholde en ledende 1. Hvis du vil bruke tallet, bruker du informasjonen om tegnbiten og blar på siffer tilbake for numerisk verdi.

Bruke 2s kompliment

    Skriv tallet slik du ville gjort som om det var positivt, og bruk alle åtte bitene. Så 5 er 00000101.

    Inverter bitene, bytt 1s og 0s som du gjorde med 1s kompliment. Så igjen, 5 blir 11111010.

    Legg til 1 til nummeret ditt. Så 5 blir 11111010 + 00000001 = 11111011.

    Sjekk svaret ditt. Tallet 11111011 ville være, konvertert tilbake til base 10: -128 + 64 + 32 + 16 + 8 + 0 + 2 + 1 = -5.