Lily Skrevet 17. september 2006 Skrevet 17. september 2006 Jeg vil lage en while-løkke som regner ut uttrykket 3 + 2^(-n) for n= 0 og opp til den n som gir svar = 3. Dette er i og for seg enkelt, men jeg har fått beskjed om å bruke datatypen float, men så vidt jeg kan se finnes det power-metode bare for double. Hva kan jeg gjøre da tro?
Zethyr Skrevet 17. september 2006 Skrevet 17. september 2006 Jeg vil lage en while-løkke som regner ut uttrykket 3 + 2^(-n) for n= 0 og opp til den n som gir svar = 3. 6882298[/snapback] Kan du ikke bare skrive while(true), det gjør samme nytten. Du finner vel ingen n som gir svar = 3.
pgdx Skrevet 17. september 2006 Skrevet 17. september 2006 Du kan jo bruke parseDouble, men jeg er jo usikker på om det er det de vil frem til... Kanskje de vil du skal lage power-utregningen manuelt.
Lily Skrevet 17. september 2006 Forfatter Skrevet 17. september 2006 Hvis jeg bruker double istedet for float, så vil alle n fra 52 og opp gi svar = 3. Poenget her er at jeg skal se hvordan det blir med float, så jeg kan ikke bruke parseDouble heller...
Zethyr Skrevet 17. september 2006 Skrevet 17. september 2006 Du vil heller ikke med float få riktig svar når n blir stor nok. Likningen din går vel rett og slett ikke opp, mens man på en datamaskin med begrensede datatyper vil få den til å gå opp.
Lily Skrevet 17. september 2006 Forfatter Skrevet 17. september 2006 Neeei, men det er det som er meningen med denne oppgaven, vise oss at sånne "feil" skjer i denne typen programmer...
Zethyr Skrevet 17. september 2006 Skrevet 17. september 2006 Da skal du nok lage din egen power-metode, så får du bare kjøre til det streiker.
Lily Skrevet 17. september 2006 Forfatter Skrevet 17. september 2006 (endret) Det var liksom det jeg hadde håpa å slippe da... Endret 17. september 2006 av Lily
_M@ts_ Skrevet 20. september 2006 Skrevet 20. september 2006 Noen som kunne kopiere første delene av selve programmet her ? Vet liksom ikke helt hvordan jeg skal begynne.
Mortal Skrevet 20. september 2006 Skrevet 20. september 2006 (endret) Holder det ikke å bare caste til float? Slik feks? int n; for (n = 0; (3 + (float)Math.pow(2, -n)) > 3.0; n++); System.out.println(n); Uten (float) blir det 52, med blir det 23. Å skrive egen pow-algoritme blir vel ganske tidkrevende og blir vel mer et studie i matematikk enn i java/programmering. Edit: Når jeg tenker meg om er det vel egentlig ganske enkelt, hvis man bare skal ha heltall i eksponenten, som i denne situasjonen, men koden over gjør vel det du skal? Endret 20. september 2006 av Mortal
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå