operatovi za manipulaciju bitovima
Prikazujem rezultate 1 do 3 od 3

Tema: operatovi za manipulaciju bitovima

  1. #1
    Primećen član
    Učlanjen
    03.02.2006.
    Pol
    muški
    Poruke
    607
    Tekstova u blogu
    1
    Reputaciona moć
    50

    Podrazumevano operatovi za manipulaciju bitovima

    E ovako , chitam neku C knjigu ... i ovo mi uopste nije jasno.

    Shta zapravo znachi npr & operator!? Dali su mi ovaj primer u knjizi:

    n=n&0177

    Postavlja na nuli sve osim najnizhih 7 bitova n. Ok..to sam razumeo a onda daju sledetji primer:

    x=1
    y=2

    x&y=0
    x&&y=1

    E to mi nije uopshte nije jasno o_O Ako bi neko mogao da objasni ... =|



  2. #2
    Iskusan
    Učlanjen
    06.12.2004.
    Poruke
    5.596
    Reputaciona moć
    103

    Podrazumevano Re: operatovi za manipulaciju bitovima

    Citat Original postavio lprsic
    E ovako , chitam neku C knjigu ... i ovo mi uopste nije jasno.

    Shta zapravo znachi npr & operator!? Dali su mi ovaj primer u knjizi:

    n=n&0177

    Postavlja na nuli sve osim najnizhih 7 bitova n. Ok..to sam razumeo a onda daju sledetji primer:

    x=1
    y=2

    x&y=0
    x&&y=1

    E to mi nije uopshte nije jasno o_O Ako bi neko mogao da objasni ... =|
    [font=Verdana]
    Prvi primer postavlja na nulu (resetuje) sve osim najnižih 8 bitova, a ne 7. U pitanju je oktalna vrednost 177 koja u hexa iznos FF, odnosno u binarnom 11111111.

    Drugi primer pokazuje razliku između logičkog i bit operator. Operator & je and na bit nivou. Pošto je u binarnom sistemu jedan 1, a 2 10 tada and na nivou bitova je 0. Operator && je logički and i pošto ni jedan od operanda nije false odnosno 0, tada je vrednost tog izraza 1.
    [/font]

  3. #3
    Ističe se juznivetar (avatar)
    Učlanjen
    12.02.2005.
    Pol
    muški
    Lokacija
    -
    Poruke
    2.041
    Reputaciona moć
    67

    Podrazumevano Re: operatovi za manipulaciju bitovima

    Prvi slucaj je demonstracija upotrebe bitovnog operatora AND, i dakle konkretno na primjeru postavlja sve bitove sem zadnjih 7 na 0.
    Ovo se jos naziva i tkz. maska, tj. poredi sve bitove varijable n sa odgovarajucim bitovima maske koja je u ovom slucaju oktalno 0177, i pridruzuje rezultat ponovo varijabli n.
    Posto je rad sa bitovima izuzetno mocna stvar, objasnit cu ti konretno sta se desava:
    Dakle n je recimo broj 13, binarno to izgleda 00001101, a maska je dakle 0177 oktalno, binarno to izgleda 01111111 (dekadno 127), i on poredi prvi bit sa prvim, drugi sa drugim itd
    00001101
    01111111 //posto je operator AND upitanju tada je rezultat 1 samo ako je i a i b = 1.
    -------------
    00001101

    I dobili smo rezultat.
    Ovako izgleda da nema smisla ovo raditi, al' recimo da zelimo da znamo samo vrijednost prva dva bita varijable n. Onda za masku uzimamo 3(dekadno). I dobit cemo stanje prva dva bita.

    Jednostavan nacin konverzije oktalnog i heksadecimalnog brojevnog sistema u binarni je predstavljen 2^3 = 8 (oktalni), 2^4 = 16 (heksadecimalni), sto bi u prevodu znacilo da svaka oktalna cifra predstavlja 3 bita, odnosno 4 bita heksadecimalna cifra.
    Pa je tako 177 oktalno konvertovano u binarni sistem kao 001-111-111.

    Poz i nadam se da je sada situacija nesto jasnija

Pravila za slanje poruka

  • Ne možete kreirati novu temu
  • Ne možete poslati odgovor
  • Ne možete dodati priloge
  • Ne možete prepraviti svoju poruku
  •