Zadatak

Tornado1

Početnik
Poruka
14
Ja se izvinjavam shto nisam bio aktivan na forumu, ali bih hteo da mi reshite jedan zadatak jer neznam da ga reshim.

Ako zelite, zadatak glasi ovako:
Napishite program koji od korisnika trazi da unese jednu unsigned short celobrojnu promenljivu (0 - 32535). Ucitajte unetu vrednost i prikazite je heksadecimalno. Zamenite mesta vishem i nizem bajtu pomeranjem bita i obavljanjem operacije ILI nad bitovima nad pomerenim vrednostima.

I ako bi moglo da nmi napishete komentare u programu da bi ga jasnije razumeo. I ako zelite da mi malo pojasnite.


Hvala unapred !!!:worth::worth::worth:
 
E izvini nisam ranije video poruku sto si mi slao :D
Ovaj prvi deo sa pretvaranjem mogu da ti uradim, a ovaj drugi nisam siguran sta se uopste trazi :)
Mada ne verujem da bi znao da uradim posto nista tako nisam radio :D
 
E izvini nisam ranije video poruku sto si mi slao :D
Ovaj prvi deo sa pretvaranjem mogu da ti uradim, a ovaj drugi nisam siguran sta se uopste trazi :)
Mada ne verujem da bi znao da uradim posto nista tako nisam radio :D
Takodje, za prvi deo sam potpuno siguran da znam, ali ovaj drugi deo mi je malo nerazumljiv, nisam imao potrebe da nekad radim sa ovim. :)
Ali uglavnom mislim da treba primeniti operacije pomeranja bitova ulevo ili udesno, a nakon toga logicka funkcija "ili" se izvrsava nad zamenjenim bitovima, ako sam dobro razumeo. :)
 
Zamenite mesta vishem i nizem bajtu pomeranjem bita i obavljanjem operacije ILI nad bitovima nad pomerenim vrednostima.
Како се мени чини, разумљиво је. Тип short има два бајта, и треба им заменити места. У C-у то изгледа овако некако:

Kod:
val = val >> 8 | val << 8;
 
C++ ima klasu bitset sa kojom bi se ovo efikasnije i lakse zavrsilo. ;)
Рецимо да је реч о вежби за школу, где је и циљ да не буде лако. А пропо ефикасности, за штампање бих дао предност C/C++ функцијама за штампање хексадецималних вредности, а за замену позиција бајтовима простог типа бих се опет кладио на обичне битовске операторе, који су доступи у оба језика.
 

Back
Top