Personal tools
You are here: Home Uputstva Teorija Binarni brojevi
stop softwarepatents
ne m$-vom standardu
Scriptum Libre
Kernel.org
Poslednja 2.6 verzija
2.6.27.6

Poslednja 2.4 verzija
2.4.36.9
Sponzori
open document format
Linux Sigurnost
Debian security

Gentoo security

Mandriva security

Red Hat security

Slackware security

Suse security

Ubuntu security

Log in


Forgot your password?
New user?
prijatelji LUGoNS-a
 
Document Actions

Binarni brojevi

by Goran Mekić last modified 2007-11-04 22:08

Postoje samo dva, a tolika komplikacija...

Svi već znamo da računari rade sa nulama i jedinicama. Istorijski razalog je jednostavan. Ako u vodovima ili ima struje ili nema struje, ne postoji mesto grešci (uslovno rečeno). Naime, kada je osobina koja se meri kontinualna (recimo, visina napona), uvek je prisutna greška zbog nesavršenosti provodnika, aparata za merenje, itd. Ako je sve što vi treba da izmerite to da li struja u nekom vodu postoji ili ne, mogućnost greške je minimalna. Naravno, sistem je mogao biti zamišljen tako da postoji 10 skokovitih nivoa struje te da se ne petljamo sa binarnim brojevima, ali se tako povećava i mogućnost greške. Ono što je računar doneo sa sobom je da ljudi imaju potrebu da shvate binardne brojeve kako bi bolje razumeli rad računara. Videćete, ovo je stvarno prosto.

Za početak ćemo prebaciti decimalni broj u neki binarni. Recimo broj 26. To se radi uzastopnim deljenjem sa 2 i zapisivanjem ostataka, sve dok rezultat deljenja ne postane 0. Prvo ću objasniti zapis koji ćemo dalje koristiti. Recimo, pri celobrojnom deljenju brojeva sa 2, imamo rezultat i ostatak:

7 / 2 = 3
ostatak: 1

Umesto ovako dugačkog zapisa, koristićemo sledeći format (pri tome se podrazumeva da se deli sa 2):

7 | 3
1

Ostatak pri deljenju je desno od broja, a rezultat rezultat ispod. Sada kada znamo ovaj format, evo kako se prebacuje decimalni zapis u binarni:

26 | 0    26(dec) = 11010(bin)
13 | 1
 6 | 0
 3 | 1
 1 | 1
 0

Kao što ste primetili, binarni rezultat se čita od dole na gore. Poprilično jednostavno, zar ne? Drugi problem je kako prebaciti binarni broj u decimalni. Pre toga ću dati primer banalnog računanja u decimalnom sistemu koji oslikava ideju prebacivanja iz sistema u sistem. Recimo da imate broj 128. On se može predstaviti na sledeći način:

128 = 1*102 + 2*101 + 8*100 = 1*100 + 2*10 + 8*1

Znači, pošto je u decimalnom sistemu osnova 10 (ima 10 cifara ukupno), to je rezultat jednak razlaganju cifara broja (cifra * 10pozicija cifre pri čemu se pozicija cifre broji sa desna na levo i od 0 na više). Slična stvar važi za binarne brojeve, samo što je osnova 2. Recimo da želimo da prebacimo 11010 nazad u decimalni zapis:

11010(bin) = 1*24 + 1*23 + 0*22 + 1*21 + 0*20 = 1*16 + 1*8 + 0*4 + 1*2 + 0*1 = 16 + 8 + 2 = 26

I to je cela gimnastika koju treba da znate oko pretvaranja u i iz binarnih brojeva. I nije neka nauka, zar ne?


Powered by Plone CMS, the Open Source Content Management System

This site conforms to the following standards: