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

Problem s decimalom

[es] :: C programiranje :: Problem s decimalom

[ Pregleda: 994 | Odgovora: 6 ]

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

un4given_2

Član broj: 116624
Poruke: 6
*.cmu.carnet.hr.



Profil

icon Problem s decimalom09.10.2006. u 21:58

prvo da kazem da sam pocetnik u programiranju...nasao sam na netu algoritam koji su koristili u programu super_pi pa sam i ja htio to napraviti to u c-u...


Code:
#include <stdio.h>
#include <math.h>


int main(){
    
    int i;
    float a = 1;
    float b = a/sqrt(2);
    float t = a / 4;
    float x = a;
    float y;
    float p;
    for (i = 1; i <= 19; i++)
    {
        y = a;
        a = (a+b)/2;
        b = sqrt(b*y);
        t = t-x*(a-y)*(a-y);
        x = 2*x;
    }
    p = (a+b)*(a+b)/(4*t);
printf("%.1000000f",p);
getch();
return 0;
}



problem je sto su prvih 16 decima tocnih a sve ostalo su nule...unaprijed hvala na svakoj mogucoj pomoci...

[Ovu poruku je menjao un4given_2 dana 09.10.2006. u 23:43 GMT+1]
09.10.2006. u 21:58 

Milan Aksic

Član broj: 412
Poruke: 1054
*.medianis.net.



Profil

icon Re: Problem s decimalom10.10.2006. u 00:36
Linija
Code:
printf("%.1000000f",p);
nalaze funkciji printf() da prikaze 1000000 decimala i da izvrsi popunjavanje nulom. Pokusaj da zadas manju vrednost, npr. 20.
10.10.2006. u 00:36 

un4given_2

Član broj: 116624
Poruke: 6
*.cmu.carnet.hr.



Profil

icon Re: Problem s decimalom10.10.2006. u 01:01
Jesam upisao sam 20 i nakon toga mi ispise 16 decimala i ostalo su nule! Jos netko?! Bio bih zahvalan!
10.10.2006. u 01:01 

Milan Aksic

Član broj: 412
Poruke: 1054
*.medianis.net.



Profil

icon Re: Problem s decimalom10.10.2006. u 01:42
Hm, tip float od 4 bajta moze da sadrzi od 3.4x10^-38 do 3.4x10^38. Nemam sada vremena da ovo bolje pogledam, pokusaj da zamenis sa double.
10.10.2006. u 01:42 

un4given_2

Član broj: 116624
Poruke: 6
*.cmu.carnet.hr.



Profil

icon Re: Problem s decimalom11.10.2006. u 01:37
Deklariranjem s double dobijem takoder nule nakon 16 decimale, long double pak daje neki ludi broj koji ima negativan predznak, ako netko jos ima kakvu ideju nemora cak biti ni tocna?! Hvala unaprijed!
11.10.2006. u 01:37 

rumpl

Član broj: 54959
Poruke: 156
*.net81-66-199.noos.fr.



Profil

icon Re: Problem s decimalom11.10.2006. u 09:20
Ne mozes sa float-om ili double-om da dobijes vise od ovog sto dobijes.
Ja sam na linuxu sa double dobio ovo: 3.14159265358979356008717331860680133104324340820312500......

Ako hoces vise od ovoga, trebace ti neka biblioteka za velike brojeve (kao libgmp: http://www.swox.com/gmp/, ili neka druga)

"The problem with the world is that everyone is a few drinks behind."
-Humphrey Bogart
11.10.2006. u 09:20 

un4given_2

Član broj: 116624
Poruke: 6
*.cmu.carnet.hr.



Profil

icon Re: Problem s decimalom12.10.2006. u 22:49
Ovo u svakom slucaju nadmasuje moje znanje, jer nisam skuzio sto treba deklarirati i kako!
12.10.2006. u 22:49 

[es] :: C programiranje :: Problem s decimalom

[ Pregleda: 994 | Odgovora: 6 ]

Postavi temu Odgovori

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