Predstavitev negativnih števil v praksi

Dvojiške predstavitve števil, ki smo si jih ogledali doslej, nam omogočajo, da predstavimo samo pozitivne številke. V praksi seveda želelimo predstaviti tudi negativna števila, kot na primer, ko je stanje na bančnem računu negativno, ali pa ko temperatura pade pod ničlo. Pri običajni predstavitvi številk v desetiškem številskem sistemu predstavljamo negativna števila tako, da pred številko postavimo znak minus. Ali je v dvojiškem številskem sistemu tudi tako preprosto?

Ogledali si bomo dva možna pristopa: dodati bit, ki predstavlja predznak – podobno kot v desetiškem številskem sistemu, nato pa še bolj uporaben sistem, imenovan dvojiški komplement (ang. Two's complement).

Uporaba bita za predznak

V računalniku nimamo predznaka minus za številke (če želimo predstaviti številko, uporaba besedilnega znaka minus ne deluje dobro, saj z znaki ne moremo izvajati aritmetičnih operacij), vendar to lahko storimo tako, da številki dodelimo en dodatni bit za predznak, ki bo predstavljal znak minus. Tako kot pri desetiških številkah postavimo bit za predznak levo od številke – če je bit za predznak nastavljen na »0«, to pomeni, da je številka pozitivna in če je bit za predznak nastavljen na »1«, je številka negativna (tako kot če bi bil pred njo znak za minus).

Če na primer želimo predstaviti številko 41 z uporabo 7 bitov skupaj z bitom za predznak (skupno 8 bitov), jo predstavimo za zaporedjem 00101001. Prvi bit je 0, kar pomeni številka je pozitivna, preostalih 7 bitov predstavlja 41, kar pomeni, da je to številka +41. Če želimo predstaviti številko -59, jo predstavimo z zaporedjem 10111011. Prvi bit je 1, kar pomeni, da je številka negativna, preostalih 7 bitov predstavlja 59, kar pomeni, da je to številka -59.


Pretvarjanje v drugo smer je prav tako enostavno. Če imamo dvojiško številko 10010111, vemo, da je negativna, ker je prva številka 1. Številčni del, ki ga predstavlja naslednjih 7 bitov, je 0010111, kar je 23. To pomeni, da je številka -23.

Kaj pa dvojiško število 10000000? To število predstavlja -0. Podobno dvojiško število 00000000 predstavlja +0. Ker sta -0 in +0 obe pravzaprav 0, je zelo nenavadno imeti dve različni predstavitvi iste številke.

To je eden od razlogov, zakaj v praksi ne uporabljamo bita za predznak. Namesto tega računalniki običajno za predstavitve negativnih dvojiških števil uporabljajo bolj izpopolnjeno predstavitev, imenovano dvojiški komplement.

Dvojiško število

0000