Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 4 odgovora
  • 2.254 pregleda

Najnovija ↓

Konfuzni operatori 20.02.2007. u 09:58 · pre 239 meseci #1
Pozdrav,

Ako bi neko imao vremena da mi objasni ili da me uputi na neki dobar tutorial koji objasnjavaju operatore tipa >>, <<, =>>, <<= itd

ili u primjeru ( cmd <<= 1, 0x1<<5)

Unaprijed hvala !!!
Potpis
Sve mozes nahraniti ali oci nikad :-)
Re: Konfuzni operatori 20.02.2007. u 13:56 · pre 239 meseci
izmenjeno 1 put, poslednji put X Files 20.02.2007. u 21:52
  1. X Files20.02.2007. u 21:52zapis iz teksta poruke
#2
Citat:

Ako bi neko imao vremena da mi objasni ili da me uputi na neki dobar tutorial koji objasnjavaju
operatore tipa >>, <<, =>>, <<= itd

Radi se o pomeranju bitova (engl. shift-ovanje) neke vrednosti ULEVO ili UDESNO, čime se na primer
može postići isti efekat kao i množenje ili deljenje sa osnovom dva (pod uslovom da se tim pomeranjem
ne izgube neki bitovi).

Npr:

Ovo je neka celobrojna promenljiva x kojoj je dodeljena vrednost 12 (dekadno), što je isto što i 1100 binarno.
int x = 12;

Iskazom:
x = x >> 1;
... vrši se pomeranje BITOVA za JEDNO mesto UDESNO (1100 -> 0110, dakle, nova vrednost je 6 (dekadno) )

Ako nastavimo:
x = x >> 1;
... vrši se opet pomeranje BITOVA za JEDNO mesto UDESNO (0110 -> 0011, dakle, nova vrednost je 3 (dekadno) )

Dalje:
x = x >> 1;
... vrši se novo pomeranje BITOVA za JEDNO mesto UDESNO (0011 -> 0001 = 1 (dekadno) ), ali izgubio si jedan bit, nepovratno

Konačno:
x = x >> 1;
... pomeranjem BITOVA za JEDNO mesto UDESNO izgubio si sve bitove (0001 -> 0000 = 0 (dekadno) ).

Naravno, nije obaveza da se pomeranje vrši samo za jedan bit x = x >> 1; već može odmah i za više
x = x >> y;, u ovom slučaju 'y' bitova. Svi primeri gore su se odnosili na pomeranje bitova udesno >> Svakako
da može i ulevo <<, čime se postiže efekat množenja sa osnovom dva.

Iskaz:
x = x >> 1; je identičan sa iskazom x >>= 1;.
Re: Konfuzni operatori 20.02.2007. u 15:23 · pre 239 meseci #3
Hvala puno na odgovoru i na utrosenom vremenu.
Potpis
Sve mozes nahraniti ali oci nikad :-)
Re: Konfuzni operatori 20.02.2007. u 20:50 · pre 239 meseci #4
Citat:
Ovo je neka celobrojna promenljiva x kojoj je dodeljena vrednost 12 (dekadno), što je isto što i 1100 heksadekadno.

Samo sto je 1100 binarni zapis broja 12. (Siguran sam da je u brzini napisano, ali posto je forum za pocetnike da ne bi doslo do zabune)
Re: Konfuzni operatori 20.02.2007. u 21:51 · pre 239 meseci #5
Hvala na ispravci, evo popravicu i gore ;)

Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme