nav_dugme codeBlog codeBlog
  • početna Početna stranica
  • Sačuvani članci Sačuvani članci
  • Učionica
  • Saveti
  • Zanimljivosti
  • Kontakt

Zašto baš binarni brojevi?

Viber
zoom_plus zoom_minus bookmark

Uvod

There are 10 types of people in this world ....

Jedno od najčešćih pitanja koje postavljaju polaznici kurseva programiranja i informatike je: "zašto računari za svoje unutrašnje proračune koriste binarni brojevni sistem (to jest, zašto ne koriste dekadni)?"

Dekadni brojevni sistem (na koji smo naviknuti od najranijeg uzrasta), pripada takozvanim pozicionim brojevnim sistemima, u kojima svaka pozicija ima određenu vrednost (odnosno "težinu") * i prilagođen je ljudima (smatra se da je od početka bio povezan sa brojem prstiju na ljudskim šakama).

* Na primer, cifra 2 u brojevima 247 i 23, (sama po sebi) ne definiše istu vrednost (u prvom broju, cifra 2 je cifra stotina i ima mnogo veći uticaj na krajnju vrednost broja).

Binarni brojevni sistem je takođe pozicioni brojevni sistem, ali nije prilagođen ljudima - vec računarima.

Vrednost binarnog broja
Slika 1. - Kada saberemo cifre "težine" 128, 16, 2 i 1, dobijamo dekadni ekvivalent čija je vrednost 147

Šta je to što binarni brojevni sistem čini logičnim (i praktično - "prirodnim") izborom za upotrebu u računarskim sistemima?

Predstavljanje brojeva na računarima (uopšteno)

Računari funkcionišu preko logičkih kola, elektronskih sklopova na čijem izlazu se pojavljuje električni napon u zavisnosti od napona na ulazu. Pojava napona na izlazu logičkog kola očitava se kao logička jedinica (naravno - pod uslovom da je vrednost napona dostigla ili prestigla granicu koja se očitava kao "logička jedinica"), dok se izostanak napona očitava kao logička nula.

U praktičnom smislu: u pitanju su cifre binarnog brojevnog sistema, 0 i 1.

Međutim, u svemu navedenom vodi se računa samo o tome da li se napon na izlazu pojavio, ali ne i o konkretnoj vrednosti napona (čime bi teoretski mogle da se kodiraju i ostale cifre).

Zašto je tako?

Ukratko .... teoretski jeste moguće napraviti procesore koji bi bili u stanju da očitavaju konkretnu vrednost izlaznog napona, čime bi se moglo kodirati deset cifara (i time omogućilo direktno korišćenje dekadnog brojevnog sistema), međutim - samo teoretski.

U praksi, ako se osvrnemo na to da su (binarni) računari veoma kompleksni uređaji koje je ionako teško projektovati i izrađivati, nije teško zaključiti da postupak kojim bi (ionako veoma kompleksni i problematični za održavanje) računari postali višestruko kompleksniji, nesagledivo problematičniji i mnogo (mnogo!) skuplji - nije ni praktičan, ni popularan!

Detaljnija analiza

Za čitaoce koje tematika zanima više, možemo malo proširiti diskusiju, osvrtom na najočigledniji problem ....

Pomenuta logička kola su sačinjena (uglavnom) od poluprovodnika, materijala koji omogućavaju da se napon na izlazu pojavljuje samo u slučaju da je napon na ulazu veći od određene vrednosti (za razliku od izolatora, koji nikako ne provode struju, ili provodnika, koji bezuslovno provode struju), međutim, što su naponi veći - veće je i zagrevanje logičkih kola (koje zavisi od potrošnje struje, odnosno od snage koja se u električnom kolu razvija).

Koliko veće, pitate se (ako niste još davno 'zbrisali' iz ovakve diskusije)?

Ako dupliramo napon, električna snaga koja se u određenom elektronskom uređaju razvija se ne duplira - već se zapravo učetvorostručuje, a što se tiče našeg "teoretskog modela 'dekadnog računara'", postavlja se pitanje koliko bi (zapravo) bilo potrebno povećavati napon za očitavanje svake sledeće cifre?!

Pažnja: Sledi diskusija o stvarima koje (koliko nam je poznato) ne postoje, (praktično) nedokazive pretpostavke i upotreba "krupnih reči".

Ako uzmemo da je za "dodavanje jedne cifre", napon potrebno povećati za iznos koji u logičkim kolima predstavlja razliku između logičke nule i logičke jedinice (okvirno: u današnje vreme napon logičke jedinice iznosi oko 1.0V), jasno je da bi se snaga učetvorostručila dodavanjem samo jedne cifre!

Po teoretskom modelu koji razmatramo (koji je uprav to - stvar teorije): ako se binarna jedinica očitava pri naponu od ~1.0V (i ako pretpostavimo da je snaga koja se razvija ~10W), jasno je da bi se cifra '2' očitavala pri naponu od ~2.0V i da bi snaga koja se razvija bila ~40W).

Dodavanje preostalih sedam cifara bi povećalo maksimalni napon devet puta (9x) u odnosu na prvobitni (cifra '9' očitavala bi se pri naponu od ~9V), a potrošnja bi bila povećana ~osamdesetostruko (tačnije - 81x)!

Pošto je u pitanju fiktivni model (i nismo sigurni koliko bismo tačno morali da povećavamo napone), mogli bismo da kažemo da je dodavanje jednog Volta za svaku cifru previše, "da se nađemo na pola puta" (prepolovimo napon od 9V, pa da skinemo i "još koji Volt") i da - pošto ionako samo koristimo poznate formule u okviru nepoznatog modela - pretpostavimo da bi se snaga na kraju uvećala "samo" 20-30 puta (intuicija sugeriše da ne bi moglo "bolje od toga"). Međutim, "prepolovljavanje (minus 'sitan kusur')" ne bi mnogo pomoglo, jer uvećanje potrošnje od 20-30x - u najmanju ruku nije "samo".

Budući da današnji računari ionako funkcionišu (jako) blizu gornje temperaturne granice izdržljivosti poluprovodnika (što je verovatno lepše nego da kažemo - "zabrinjavajuće blizu"), nije teško shvatiti da bi pomenuto višestruko povećanje radne temperature dovodilo do trenutnog otkazivanja računarskih sklopova (ili bi nesagledivo povećalo složenost i cenu uređaja za rashlađivanje računarskih komponenti).

Stoga .... ostajemo pri upotrebi dva naponska stanja: "nema napona" (nula) i "ima napona" (jedan), a to je upravo ono što odgovara binarnom brojevnom sistemu (koji koristi dve pomenute cifre).

Autor članka Nikola Vukićević Za web portal www.codeblog.rs
Napomena: Tekstovi, slike, web aplikacije i svi ostali sadržaji na sajtu www.codeblog.rs (osim u slučajevima gde je drugačije navedeno) predstavljaju intelektualnu svojinu autora sajta www.codeblog.rs i zabranjeno je njihovo korišćenje na drugim sajtovima i štampanim medijima, kao i bilo kakvo drugo korišćenje u komercijalne svrhe, bez eksplicitnog pismenog odobrenja autora.
© 2020-2023. Sva prava zadržana.
Viber
početna Početna > Članci > Zašto baš binarni brojevi?

Info & povezani članci Info o članku - dugme

Info

trejler_sat Datum objave: 23.11.2019.

trejler_sat Poslednja izmena: ----

trejler_dokument Jezici:

trejler_teg_narandzasti Težina: 7/10

Povezani članci

Pozicioni brojevni sistemi Šta je zapravo programiranje? Algoritmi - uopšteno Dijagrami toka - osnove IT termini Aritmetika velikih brojeva Operacije sa bitovima u progamskom jeziku C Postfiksna notacija - kako računari računaju? Klase složenosti algoritama - (O notacija) Ostali članci
When you see a good move, look for a better one
Emanuel Lasker (šahovski velemajstor)
codeBlog codeBlog
Projekat posvećen popularizaciji kulture i veštine programiranja.
Napomena: Tekstovi i slike na sajtu www.codeblog.rs (osim u slučajevima, gde je drugačije navedeno) predstavljaju intelektualnu svojinu autora sajta www.codeblog.rs i zabranjeno je njihovo korišćenje na drugim sajtovima i štampanim medijima, kao i bilo kakvo drugo korišćenje u komercijalne svrhe, bez eksplicitnog odobrenja autora.
© 2020-2023. Sva prava zadržana.
Facebook - logo
Instagram - logo
LinkedIn - logo
Twitter - logo
E-mail
Naslovna
   •
Uslovi korišćenja
   •
Obaveštenja
   •
FAQ
   •
Kontakt