men hvis du ikke anvender doubles hele vejen igennem, giver det ingen mening at bruge den lange version. der vil alligevel opstå unøjagtiger pga trunkeringer og en float's manglende evne til at ramme nogle værdier. De extra "værdi'er" du ville have på pi forsvinder ind i unøjagtigen.
Du kan sagtens beregne pi, formlen er "frit tilgængeligt". Problemet er bare at der ikke er nogen gentagelse i mønsteret af decimaler og at man derfor altid kan regne det næste decimal ud. Lidt efter samme princip som at man altid kan dele et stykke i to, hvor efter man har to stykker - der kan deles i to, ....
jeg har endda noget kode der kan .... Jeg er ikke 100% sikker på jeg kan finde mit C++ kode, men ellers så worse case så har jeg noger Delphi kode (Det kan NEMT protes)...
Det er altsammen fint nok, men det jeg lever efter er bare hvilken variabel-type jeg skal bruge, for at regne med en rimelig præcis Pi... =) - Det har jeg fået nogle bud på, men jeg lader spørgsmålet stå åben, for lidt diskution... =)
problemet er ikke at beregne pi relativ nøjagtigt .. problemer er at regne med den .... Hvvis du bruger en float til at 2gemme" dine beregninger i .. Så skal du gemme pi i en float etc ...
hvis du anvender float i dine beregninger, nytter det ikke at anvende PI mest præsis, så kan du lige så godt smide den i en float med en 3-5 decimaler.
i følgende program burde a og b være ens, men det er de ikke, da en float ikke kan ramme hver eneste værdi i dens range :-)
// TestMe.cpp : Defines the entry point for the console application. //
#include "stdafx.h" #include "iostream.h"
int main(int argc, char* argv[]) { float a = 0.0f; float b = 0.0f;
for( int i=1; i<10000; i++ ) { a += 0.1f; b = 0.1f * i;
- Jeg har smidt lidt flere point i spørsmålet, da det egentlig blev længere end jeg havde troet... =) Men tusinde tak for hjælpen... =)
//AciD~HeaD
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.