Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Decimalno u Binarno konverzija

[es] :: C programiranje :: Decimalno u Binarno konverzija

[ Pregleda: 1381 | Odgovora: 6 ]

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

wex-alpha
Sarajevo

Član broj: 7580
Poruke: 480
*.ppp-01.sa.lol.ba.



Profil

icon Decimalno u Binarno konverzija25.04.2004. u 14:00

Nedavno sam probao napraviti mali program koji vrsi gore pomenutu konverziju. Sav sretan sam uraido sljedeci kod:

int i = 0, broj, brojcina [20];
cin >>broj;
do
{
brojcina [i++]=broj%2;
broj/=2;
cout <<"\n"<<broj;

}
while (broj);
cout << brojcina[i++];


Kod je djelomicno radio, ali ostaci dijeljenja koji su trebali ici u array nisu fino radili, dobijao sam samo nekakve nebuloze.

Nekidan mi je kolega doradio kod kako treba da izgleda:

int main()
{
int i = 0, broj, brojcina [20];
cin >>broj;
do
{
brojcina [i++]=broj%2;
broj/=2;
cout <<"\n"<<broj;
}
while (broj);
for(int j = 0; j < i; j++) {
cout << brojcina[i-j -1];
}
cout << endl;

system("PAUSE");
return 0;
}


I to odlicno radi...


Zanima me sta se to desava sa Array, tako da je u mom slucaju samo gluposti izbacivao???





PS

C -- "Jezik koji kombinuje eleganciju i moć asemblera sa čitljivošću i lakoćom održavanja koda asemblera." ????????????????

25.04.2004. u 14:00 

Milan Aksic

Član broj: 412
Poruke: 1054
*.smin.sezampro.yu.



Profil

icon Re: Decimalno u Binarno konverzija25.04.2004. u 17:13
"odokativno" (nisam kompajlirao kood), liniju
Code:
cout <<"\n"<<broj;
prepravi u npr.
Code:
for (i--; i >= 0; i--)
    cout << brojcina[i];
U tvojoj liniji, najverovatnije nisi dobijao _ceo_ rezultat, a ne "nebulozni", jer je cout citao do 0 (null).

C -- "Jezik koji kombinuje eleganciju i moć asemblera sa čitljivošću i lakoćom održavanja koda asemblera." !!!!!!!!!!!!!!!!!!!
25.04.2004. u 17:13 

wex-alpha
Sarajevo

Član broj: 7580
Poruke: 480
*.ppp-01.sa.lol.ba.



Profil

icon Re: Decimalno u Binarno konverzija25.04.2004. u 20:17
Ali zanima me sta se to desava u Array-u? Koliko sam shvatio kada inicijaliziram Array, on je u pocetku anuliran, i sta je to bilo pogresno kada sam rekao da ostatak dijeljenja stavlja u njega? Zbog cega treba dodatna FOR petlja???
25.04.2004. u 20:17 

Milan Aksic

Član broj: 412
Poruke: 1054
*.smin.sezampro.yu.



Profil

icon Re: Decimalno u Binarno konverzija27.04.2004. u 00:07
Citat:
Ali zanima me sta se to desava u Array-u?

Izvini, ali mozda bi mogao malo bolje da formulises pitanje jer:
Citat:
Citat:
wex-alpha: Zanima me sta se to desava sa Array, tako da je u mom slucaju samo gluposti izbacivao???
Citat:
passenger: U tvojoj liniji, najverovatnije nisi dobijao _ceo_ rezultat, a ne "nebulozni", jer je cout citao do 0 (null).
odnosno, dok ne naidje na 0 (nulu). Ako si mislio na nesto drugo, kopiraj ovde te "gluposti" koje dobijas iz niza.
Citat:
... i sta je to bilo pogresno kada sam rekao da ostatak dijeljenja stavlja u njega?
Nije pogresno. Mozda bi hteo da pogledas http://www.elitesecurity.org/tema/13455 o jednom opstom nacinu, prevodjenja decimalnih brojeva u binarne.
Citat:
Zbog cega treba dodatna FOR petlja???
Mada, postoji vise nacina da se ovakav program napise, ovde dodatna "for" petlja sluzi, da se pojedinacno prikazu elementi niza "brojcina".
27.04.2004. u 00:07 

wex-alpha
Sarajevo

Član broj: 7580
Poruke: 480
*.access-sa1.lsinter.net



Profil

icon Re: Decimalno u Binarno konverzija27.04.2004. u 06:57
Hvala na iscrpnom odgovoru.

Sto se tice konverzija u druge brojne sisteme, sa time sam dobro upoznat. Jos imam jednu nedoumice u vezi Array-a:
Zar kod same inicijalizacije Array-a nisu svi postavljeni na nulu. Ako jesu, kako to da dobijam razlicite rezultate. Jedan je hex, a drugi dec broj
Sljedeci kod:

int broj [20],i;
cout <<"\n"<<broj [20]; //prikaze 37879712
cout <<"\n"<<broj; //prikaze 0x241ff10
cout <<"\n"<<broj [i++];//prikaze 37879664


Kompajler je Dev C++ v4.
27.04.2004. u 06:57 

Reljam
Relja Markovic
Project Natal - Microsoft Game Studios
Seattle, WA

Član broj: 531
Poruke: 1739
*.client.comcast.net

Sajt: www.linkedin.com/in/relja..


Profil

icon Re: Decimalno u Binarno konverzija27.04.2004. u 16:44
Prvo, niz nije inicijalizovan na nulu kada ga deklarises. Zato dobijas cudne brojeve. Ali nije to jedini uzrok brojeva koje vidis:

1) broj[20] se nalazi van niza, jer niz ide od 0 do 19.
2) broj je pointer, dakle ti vidis vrednost pointera, a ne neki broj iz niza.
3) broj[i++] zavisi od vrednosti i koja je nedefinisana, znaci otprilike kao da si rekao broj[3231]
27.04.2004. u 16:44 

wex-alpha
Sarajevo

Član broj: 7580
Poruke: 480
*.access-sa1.lsinter.net



Profil

icon Re: Decimalno u Binarno konverzija28.04.2004. u 07:01
Hvala... o ti nizovi :)
28.04.2004. u 07:01 

[es] :: C programiranje :: Decimalno u Binarno konverzija

[ Pregleda: 1381 | Odgovora: 6 ]

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.