Kako pretvoriti negativne številke v binarne datoteke

Posted on
Avtor: Laura McKinney
Datum Ustvarjanja: 7 April 2021
Datum Posodobitve: 17 November 2024
Anonim
Section, Week 5
Video.: Section, Week 5

Vsebina

Ker ima sistem binarnih številk samo dva simbola - 1 in 0 -, ki predstavljata negativna števila, ni tako enostavno, kot če spredaj dodate znak minus. Obstajajo pa preprosti načini za prikaz negativnega števila v binarni obliki. Ta članek bo ponudil tri rešitve tega problema.

Uporabite bitni znak

    Izberite število bitov, ki jih boste uporabili za predstavljanje svojih binarnih številk. Osem bitna številka se že dolgo uporablja kot standard. To je bila prvotna velikost za celo število v računalniškem programiranju. Seveda obstajajo tudi dolga cela števila (16 bitov). Opomba: če uporabljate osem bitno celo število, bo za predstavljanje vaše dejanske številke uporabljenih le sedem bitov.

    Izberite skrajni levi del, ki vam bo služil kot bitni znak. Če je bit 0, je število pozitivno. Če je 1, je število negativno.

    Zapišite svojo negativno številko z vsemi osmimi biti. Zato bi število -5 zapisali kot 10000101.

Uporaba 1s komplimenta

    Številko napišite v dvojiške datoteke, kot bi bile pozitivne. Ponovno napišite 5 kot 00000101, ob predpostavki, da uporabljamo osem bitna cela števila.

    Obrnite števke - tj. 1s gre na 0s, 0s pa na 1s. Zato 5 postane 11111010.

    Kot bitni znak uporabite skrajni levi delček. Tako kot pri uporabi znakovnega bitja bodo tudi pozitivne številke imele 0 vodilnih bitov (če so napisane v 8-bitni obliki), medtem ko bodo vse negativne številke vsebovale vodilno 1. Če želite uporabiti številko, uporabite informacije o bitnem znaku in obrnite številke nazaj za numerično vrednost.

Uporaba 2s komplimenta

    Število napišite tako, kot bi bilo, če bi bilo pozitivno, z vsemi osmimi biti. Torej 5 je 00000101.

    Pretvorite bite, preklopite 1 in 0, kot ste storili z 1 komplimentom. Torej, spet 5 postane 11111010.

    Dodajte 1 svoji številki. Torej 5 postane 11111010 + 00000001 = 11111011.

    Preverite svoj odgovor. Številka 11111011 bi se pretvorila nazaj v bazo 10: -128 + 64 + 32 + 16 + 8 + 0 + 2 + 1 = -5.