Showing posts with label ekskluzivna disjunkcija. Show all posts
Showing posts with label ekskluzivna disjunkcija. Show all posts

19.4.20

Java - Rad sa bitovima

Besplatni Java kurs - 18. deo
Ovo je samo jedan od članaka koji zajedno čine besplatan Java tutorijal.

Pre nego što nastaviš da čitaš ovaj članak bilo bi dobro da se podsetiš šta je bit, šta je bajt i kakve to ima veze sa Java tipovima podataka. Takođe, korisno bi bilo da imaš predznanje iz matematičke logike. Ali ako nemaš, ne brini; objasniću ukratko osnove matematičke logike primenjene na Java programiranje.

Rad sa bitovima se odnosi na rad sa celobrojnim tipovima. Postoji pet celobrojnih tipova u Javi: byte, short, int, long i char. Tip char je, da podsetim, znakovni tip ali „ispod haube” je zapravo broj koji predstavlja redni broj karaktera iz tabele znakova. Taj redni broj je pozitivan ceo broj (ili nula). Npr. veliko latinično slovo A ima redni broj 65. Ostala četri celobrojna tipa mogu biti pozitivni, ali i negativni.

U programiranju se celobrojni tipovi kojima su predstavljeni samo pozitivni brojevi nazivaju neoznačeni, a tipovi kojima se predstavljaju i pozitivni i negativni brojevi se nazivaju označeni. Kod označenih je bitno da se sačuva informacija o znaku, tj. da li je broj pozitivan ili negativan. Kako je u kompjuterima sve predstavljeno nulama i jedinicama, tako se i znak predstavlja nulom ako je broj pozitivan, odnosno jedinicom ako je negativan.

Znak se, kao i kad koristimo „normalne” brojeve u matematici, piše „skroz levo”, npr pozitivan broj 3 se može napisati:

  • +3 u svetu matematike - naravno, plus se može izostaviti, podrazumeva se
  • 0_0000011 u Java svetu „ispod haube” - prva nula predstavlja znak „plus”

Podsetiću, binarni brojevi se mogu vizuelno razdvajati donjom crtom kako bi ljudima bili čitljiviji. Donja crta nema nikakve veze sa znakom broja. Navedeni broj 0_0000011 je isto što i 00000011, samo sam želeo da istaknem da krajnja leva nula predstavlja znak plus.