Kako pretvoriti negativne številke v binarne

Skoraj zagotovo ste že slišali za negativne številke. Če ste bili vsaj malo izpostavljeni svetu računalništva in računalniškega programiranja, koncept binarnih števil ni povsem tuj. Če pa programskega sveta niste raziskovali osebno, verjetno nikoli niste vsebinsko delali z binarnimi števili.

Ker računalniki ne morejo sami "razmišljati" ali "odločati", ampak lahko z natančno natančnostjo sledijo naročenim navodilom, so matematiki že zdavnaj prišli najti način, kako lahko računalniki (ali dovolj potrpežljivi ljudje) seštevajo, odštevajo in izvajajo druge matematične operacije z uporabo samo številk 0 in 1.

Toda ali obstaja način, kako združiti ti dve ideji in ustvariti negativna števila? Je to preprosto, kot če bi stroju rekli, da drži majhno vodoravno črto pred obstoječo številko a pero in papir ali pa dejavnik "bitov in bajtov" stvari bolj zaplete?

Kaj so binarne številke?

Računalniki imajo ogromno procesorske moči in celo stari grozd lahko izvaja izračune s hitrostjo, ki bi se zdela nerazumljiva tudi najbolj aritmetično nadarjenemu človeku. Toda to niso možgani in edini način, da jih pripravijo do zapletenih informacij, je, da vse, kar je mogoče, prenesejo v eno od dveh stanj, npr. VKLOP ali IZKLOP.

V "računalniškem jeziku" se en sam 0 ali 1 imenuje a bit. Skupine med njimi vključujejo nybble (4 bitov), ​​dobro znan bajt (8), beseda (1) in dolga beseda (32).

Decimalna števila, ki jih običajno vidite, na primer 492 in 35, so "base-10", ker vključujejo 10 progresivnih simbolov (števke od 0 do 9), ki "prevrni se" na naslednje mesto levo - naslednja "moč 10". Binarna števila namesto tega vključujejo samo dva simbola (števki 0 in 1) in sta "osnova-2." Vsak premik levo s konca števila je naraščajoča moč dveh: končne številke predstavljajo 1, naslednja 2, nato 4, 8, 16 in tako naprej.

  • Decimalno število je katero koli število v sistemu base-10, ni nujno število, ki vključuje decimalno vejico.

Primeri binarnih števil

Binarni "nybble" 0101 ima 1 na 1. in 4. mestu, 0 pa na 2. in 8. mestu. Tako je njegov decimalni ekvivalent 1 + 4 = 5.

Podobno je bajt 1001 1100 enakovreden 128 + 16 + 8 + 4 (28 + 25 + 24 + 23) = 156.

The dopolnilo binarnega števila je le število s preklopljenimi številkami. Na primer, dopolnilo 1001 1100 = 0110 0011.

Pretvorba negativnih števil v binarno

Verjetno pretvorba negativnega decimalnega števila v binarno število precej ni podobna drugim numeričnim pretvorbam nastopali ste, ker je vaš um, ob vsem primerjalnem lenuhu, v večini načinov veliko bolj prilagodljiv kot kateri koli drug CPU. Vendar je to enostaven postopek.

Pretvorba se izvede z uporabo binarno dopolnilo dveh, ki od programerja zahteva, da računalniku naroči, naj katero koli binarno številko, ki se začne z 1, razlaga kot negativno. Program torej gradi binarno ustrezno pozitivno število, vzame njegovo dopolnilo in doda enega.

Na primer, glede na število -47, bi računalnik ustvaril binarno število za +47:

0001 1111

Dopolnilo tega je:

1110 0000

Če temu dodate enega, dobite:

1110 0001

Upoštevajte, da je računalnik te številke "podpisal", da vodi vodilno enoto 1 kot negativno in rezultate obdela drugače kot preprosto seštevanje moči 2, ki jo zaseda simbol 1.

  • Deliti
instagram viewer