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

Problem sa velikim brojevima u C-u

[es] :: C/C++ programiranje :: Problem sa velikim brojevima u C-u

[ Pregleda: 2244 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

brankec
Bosanski Brod

Član broj: 140157
Poruke: 161
*.teol.net.



Profil

icon Problem sa velikim brojevima u C-u17.02.2008. u 20:42 - pre 196 meseci
Imam sledeci problem:
imam promenljivu PODACI tipa CHAR velicine 15 (to su u stavri 5 i 6-to cifreni podaci). Pomocu funkcije ATOI () konvertujem CHAR u INTEGER. I onda bih trebao sabrati sve te brojeve i u tome je problem. Sledeci kod je sustina momg problema:

char podaci[15];
unsigned int i=0,x,suma;
while (i<1330)
{
x=atoi(podaci);
suma+=x;
i++;
}

Zanima me kako da deklarisem X i SUMA (SUMA bi trebala biti 8 ili 9-to cifreni broj) promenljive (probao sam sa UNSIGNED LONG - %ul) da bih mogao sabirati.
Ili je moje razmisljanje pogresno.

Unapred hvala na svakoj pomoci.

[Ovu poruku je menjao brankec dana 17.02.2008. u 22:42 GMT+1]
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4902
*.dynamic.sbb.co.yu.

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Re: Problem sa velikim brojevima u C-u17.02.2008. u 21:21 - pre 196 meseci
Koji kompajler koristis?

Broj: 999999999 = 111011100110101100100111111111

Dakle, 9-cifreni broj je predstavljen sa 30 bitova, sto znaci da staje u odgovarajuci 4-bajtni tip i bez unsigned.

int
long
long long
unsigned int
unsigned long
unsigned long long
_int64

... su tipovi koji ti odgovaraju.

Sa sizeof() uvek mozes saznati velicinu nekog tipa. Na primer:
printf( "%d %d", sizeof(int), sizeof(long long) ); /* za 'int' i za 'long long' */

Na osnovu koda koji si postavio, sticem utisak da imas beskonacnu petlju, pa mozda cudni rezultati proizilaze iz toga.
 
Odgovor na temu

brankec
Bosanski Brod

Član broj: 140157
Poruke: 161
*.teol.net.



Profil

icon Re: Problem sa velikim brojevima u C-u17.02.2008. u 22:12 - pre 196 meseci
Problem resen.

Moja greska je bila u tome sto sam pri konverziji koristio ATOI() funkciju umesto ATOL() funkcije.
 
Odgovor na temu

[es] :: C/C++ programiranje :: Problem sa velikim brojevima u C-u

[ Pregleda: 2244 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

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