Sådan konverteres negative tal til binær

Posted on
Forfatter: Laura McKinney
Oprettelsesdato: 7 April 2021
Opdateringsdato: 17 November 2024
Anonim
Sådan konverteres negative tal til binær - Videnskab
Sådan konverteres negative tal til binær - Videnskab

Indhold

Fordi det binære talesystem kun har to symboler - 1 og 0 - er det ikke så enkelt at repræsentere negative tal som at tilføje et minustegn foran. Der er dog enkle måder at repræsentere et negativt tal på binært. Denne artikel vil tilbyde tre løsninger på dette problem.


Brug en tegnbit

    Vælg antallet af bit, du vil bruge til at repræsentere dine binære tal. Et otte-bit nummer er længe blevet brugt som standard. Det var den originale størrelse for et heltal i computerprogrammering. Der er selvfølgelig også lange heltal (16 bit). Bemærk: Hvis du bruger et otte-bit heltal, bruges kun syv bit til at repræsentere dit faktiske antal.

    Vælg den venstre bit for at tjene som en tegnbit. Hvis biten er 0, er antallet positivt. Hvis det er 1, er antallet negativt.

    Skriv dit negative tal ved hjælp af alle otte bit. Derfor ville tallet -5 skrives som 10000101.

Brug af 1s kompliment

    Skriv tallet binært, som du ville gjort, hvis det var positivt. Igen, skriv 5 som 00000101, hvis vi antager, at vi bruger otte-bit heltal.

    Inverter cifrene - dvs. 1s går til 0s og 0s går til 1s. Derfor bliver 5 11111010.


    Brug den venstre bit som tegnbit. Så ligesom ved brug af en tegnbit, vil positive tal alle have en 0 førende bit (når de er skrevet i et 8 bit format), mens alle negative tal vil indeholde en førende 1. Hvis du vil bruge nummeret, skal du bruge tegnbitinformationen og vende cifre tilbage for numerisk værdi.

Brug af 2s kompliment

    Skriv tallet, som du ville have, som om det var positivt, ved hjælp af alle otte bit. Så 5 er 00000101.

    Inverter bitene, skift 1s og 0s, som du gjorde med 1s kompliment. Så igen bliver 5 11111010.

    Føj 1 til dit nummer. Så 5 bliver 11111010 + 00000001 = 11111011.

    Tjek dit svar. Nummeret 11111011 ville blive, konverteret tilbage til base 10: -128 + 64 + 32 + 16 + 8 + 0 + 2 + 1 = -5.