nav_dugme codeBlog codeBlog
  • početna Početna stranica
  • Sačuvani članci Sačuvani članci
  • Članci
     (spisak)
  • Kontakt
Povratak na vrh stranice

Info & povezani članci Info o članku - dugme

Info

trejler_sat Datum objave: 23.11.2019.

trejler_olovka Poslednja izmena: 14.04.2021.

trejler_dokument Jezici: ----

trejler_teg_narandzasti Težina: 7/10

brojevi
binarni brojevi
brojevni sistemi
računari
programiranje
it termini
teorija
zanimljivosti

Povezani članci

Pozicioni brojevni sistemiŠta je zapravo programiranje?Algoritmi - uvodDijagram toka - osnoveIT terminiAritmetika velikih brojeva u računarskim sistemimaOperacije sa bitovima u programskom jeziku CPostfiksna notacija - kako računari računaju?Klase složenosti algoritama (O notacija)
Svi članci
So if you want to go fast, if you want to get done quickly, if you want your code to be easy to write, make it easy to read.
Robert C. Martin

Zašto baš binarni brojevi?

Facebook LinkedIn Twitter Viber WhatsApp E-mail
zoom_plus zoom_minus bookmark
početna > Članci > Teorija

Uvod

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

Kraću diskusiju kojom ćemo se baviti u članku, možemo započeti (upravo) uz osvrt na pitanje koje je sadržano u naslovu (i predstavlja jedno od 'najtipičnijih' i najčešćih pitanja koje postavljaju polaznici kurseva programiranja i informatike).

Dakle: zašto se za unutrašnje proračune u računarskim sistemima koristi binarni brojevni sistem?, ili (ako se takvo pitanje postavi na malo drugačiji način) - zašto računari ne operišu direktno nad dekadnim brojevima?

Dekadni brojevni sistem (sa kojim smo u kontaktu od najranijeg uzrasta), pripada takozvanim "pozicionim brojevnim sistemima" u kojima praktična vrednost cifre (odnosno "težina"), zavisi od pozicije cifre u broju. *

Dekadni brojevni sistem (kao takav) - prilagođen je ljudima (smatra se da osnova 10 od početka ima veze sa brojem prstiju na ljudskim šakama), međutim, iako je i binarni brojevni sistem takođe pozicioni brojevni sistem ....

Vrednost binarnog broja
Slika 1. - Primer računanja vrednosti binarnog broja: kada se saberu (uključene) pozicije sa vrednošću 128, 16, 2 i 1, dobija se dekadni ekvivalent čija je (ukupna) vrednost 147.

.... radi se o načinu predstavljanja brojeva koji (u iole praktičnom smislu) nije prilagođen ljudima, već - računarima, i stoga se vraćamo na početno pitanje: šta je to što binarni brojevni sistem čini "logičnim" i (praktično) "prirodnim" izborom za upotrebu u računarskim sistemima?

* Na primer, cifra 3 u brojevima 347 i 34, sama po sebi ne definiše istu vrednost (u prvom broju, cifra 3 je cifra stotina i praktično ima vrednost 300, a u drugom broju, cifra 3 je cifra desetica i praktično ima vrednost 30).

Predstavljanje brojeva na računarima (uopšteno)

Računari funkcionišu kao sistemi međusobno povezanih logičkih kola (elektronskih sklopova na čijem izlazu se pojavljuje električni napon, u zavisnosti od napona na ulazu), pri čemu se pojava napona na izlazu logičkog kola očitava 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 (dve) 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 ('uopšte') pojavio, ali, ne vodi se računa o konkretnoj vrednosti napona (što bi teoretski moglo da omogući kodiranje i ostalih cifara, odnosno, direktno korišćenje dekadnog brojevnog sistema preko deset prepoznatih nivoa napona).

Ipak - sve je to samo 'teorija' (odnosno, nije u pitanju ideja koja zapravo može pokrenuti masovnu proizvodnju dekadnih računara koji su široko dostupni).

U praksi, moramo se prvo osvrnuti na to da su i sadašnji računari (da ne kažemo, sadašnji 'binarni računari'), veoma kompleksni uređaji koje je teško projektovati i izrađivati, a onda - ako bismo usvojili "novi model računara" i novi postupak izrade, došlo bi do toga da računari - koji su već sada veoma kompleksni i prilično problematični za projektovanje i izradu - postanu višestruko kompleksniji, nesagledivo problematičniji i mnogo (mnogo!) skuplji, pa nije teško zaključiti da navedeni model "dekadnog računara" nikako ne može biti praktičan (niti popularan)!

U prošlosti je zapravo bilo praktičnih realizacija dekadnih procesora, čak i u masovnoj proizvodnji, ali, u poređenju sa binarnim računarima, broj takvih uređaja i (pogotovo) popularnost takvih uređaja - skoro da se mogu zanemariti.

Zarad dodatnog upoznavanja, u sledećih nekoliko pasusa sledi opšta diskusija o zagrevanju električnih kola, ali i diskusija o stvarima koje (koliko nam je poznato) ne postoje, uz iznošenje pretpostavki koje su praktično nedokazive (a biće i upotrebe "krupnih reči"). :)

Detaljnija analiza

Za čitaoce koje tematika zanima više, možemo dodatno proširiti diskusiju, osvrtom na najočigledniji problem koji bi se javio u (potencijalnoj) proizvodnji dekadnih računara, pri čemu je najočigledniji problem - pregrevanje komponenti.

Međutim, da se prvo upoznamo i sa ostalim neophodnim 'tehnikalijama' ....

Logička kola sačinjena su (uglavnom) od tzv. "poluprovodnika", što je naziv za materijale 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).

Da bi bilo moguće očitavati logičku jedinicu, u logičkom kolu mora postojati izvestan napon, * iz čega posredno sledi da bi naponi pri kojima se očitavaju ostale (veće) cifre, morali biti veći (tj. 'primetno veći').

* U današnje vreme, logička jedinica u procesorima se tipično očitava pri naponu od cca. 1V (jedan Volt).

Pojava većih napona podrazumeva (kao što verovatno naslućujete), veću potrošnju struje tj. veću snagu u električnom kolu, i podrazumeva povećanje temperature (koja je u direktnoj vezi sa snagom koja se razvija u kolu), a budući da niste još davno 'zbrisali' iz diskusije (da biste se 'spasili' od razmatranja koja se tiču "nepostojećih računara", "poluprovodnika" i sl), pretpostavljamo da vas zanima na koji način i u kojoj meri povećanje napona utiče na dodatno zagrevanje komponenti, i stoga nastavljamo dalje ....

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

Da bismo što bolje razumeli navedene pojave, upoznaćemo se usput sa nekoliko jednostavnih formula (koje opisuju pojave o kojima diskutujemo) ....

U električnim kolima, snaga se računa kao: P = U * I, gde je P snaga, U je napon, a I predstavlja jačinu struje.

Jačina struje se računa kao: I = U / R (gde R predstavlja otpor u električnom kolu), iz čega proizilazi da se snaga može izraziti i kao: P = U2 / R.

Drugim rečima: "snaga raste sa kvadratom napona", što u praksi znači da zagrevanje "vrlo brzo postane pravi problem" (što ćemo odmah prikazati preko primera).

Ako pretpostavimo da bi "dodavanje jedne cifre" podrazumevalo povećanje napona 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 hipotetičkom modelu koji razmatramo (koji se donekle zasniva na teoriji, a 'preko' toga na čistom zamišljanju): 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 (napon je dupliran), pri čemu bi snaga koja se razvija bila ~40W (snaga tj. potrošnja je učetvorostručena!).

* Moderni procesori tipično proizvode snagu koja je primetno veća od 10W, ali, korišćenje primera sa 'manjim i okruglim' vrednostima, praktičnije je od korišćenja vrednosti kao što je (recimo) 76.85W.

Dodavanje preostalih sedam cifara povećalo bi 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, odnosno, preciznije, 81x (snagu koja bi se razvijala u takvim okolnostima, nismo hteli da "pominjemo naglas", ali, lako možete sami izračunati da je u pitanju snaga koja već 'nalikuje' snazi koja se razvija na grejnim uređajima u domaćinstvima i sl).

Pošto je u pitanju fiktivni model (i nismo sigurni koliko bismo tačno morali da povećavamo napone zarad prepoznavanja ostalih cifara), mogli bismo da pretpostavimo da je dodavanje jednog Volta za svaku cifru previše i "da se nađemo na pola puta" (to jest, mogli bismo da "prepolovimo" napon od 9V za cifru 9, i "rasporedimo" ostale napone proporcionalno), što znači 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" napona ne bi mnogo pomoglo, jer uvećanje potrošnje od 20-30x - u najmanju ruku nije zanemarljivo (tj. "samo").

Budući da današnji računari ionako funkcionišu (veoma) 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 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" (0) i "ima napona" (1), a to odgovara upravo binarnom brojevnom sistemu (koji koristi cifre 0 i 1).

Autor članka Nikola Vukićević Za web portal codeblog.rs
Napomena: Tekstovi, slike, web aplikacije i svi ostali sadržaji na sajtu codeblog.rs (osim u slučajevima gde je drugačije navedeno) predstavljaju intelektualnu svojinu autora sajta 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-2026. Sva prava zadržana.
Facebook LinkedIn Twitter Viber WhatsApp E-mail
početna > Članci > Zašto baš binarni brojevi?
codeBlog codeBlog
Sajt posvećen popularizaciji kulture i veštine programiranja.
Napomena: Tekstovi i slike na sajtu codeblog.rs (osim u slučajevima, gde je drugačije navedeno) predstavljaju intelektualnu svojinu autora sajta 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-2026. Sva prava zadržana.
Facebook - logo
Instagram - logo
LinkedIn - logo
Twitter - logo
E-mail
Naslovna
   •
Uslovi korišćenja
   •
Obaveštenja
   •
FAQ
   •
Kontakt