Begynderspørgsmål. Regning med store tal

Tags:    c++

<< < 12 > >>
Hej...

Jeg er næsten ved at være færdig med mit første 'rigtige' program i C, men er stødt på et lille problem, som jeg ikke har været inde på før.

Jeg har nogle værdien der skal opløftes med hinanden, som f.eks 407^17, hvilket jo er et alt for stort tal til de måder jeg har lært at holde værdier på..

Så jeg ville bare lige spørge om der er nogen som har en Tutorial, eller kunne give mig et hint til hvordan jeg får en større værdi ind i systemt, eller muligvis bruger en ekstern fil til at opbevare det.

Skal sådan set bare lave en % på de store tal og have lavet en printf af resultatet bagefter...



På forhånd tak.




P.S Kan godt finde ud af at opløfte tal med hinanden, det er kun opbevaringen/udskrivningen af værdier jeg ikke forstår :roll:




11 svar postet i denne tråd vises herunder
4 indlæg har modtaget i alt 8 karma
Sorter efter stemmer Sorter efter dato

Prøv at tag et kig på nedenstående url, der kan du se hvilke funktioner der er i bignum header filen.

http://cvs.opensolaris.org/source/xref/on/usr/src/common/bignum/bignum.h





bare initialiserer din int som long int, så burde du have plads til det :D



bare initialiserer din int som long int, så burde du have plads til det :D

Nej, det er ikke nok.
På min maskine er en unsigned long int 32 bits lang og kan derfor kun nå op på 4294967296.



der er også 'c++ bigint class' på sourceforge: https://sourceforge.net/projects/cpp-bigint/



Kan du bruge double til formålet?
Den er ikke 100% nøjagtig, så hvis du skal bruge alle cifre skal du finde noget andet.
Prøv at søge på bignum eller bignum.h, det er et bibliotek der kan regen med uendeligt store tal.

407^17 er ca. 2,3073047323628091971360014579332e+44



ja problemet er netop at jeg skal bruge alle cifrene.. Men vil da lige prøve at kigge på dem du nævner...



Hvis du bruger Linux findes gmp biblioteket:
Fold kodeboks ind/udKode 


Køres med:
Fold kodeboks ind/udKode 




Jeg bruger desværre ikke linux lige nu.
Men har også fundet GMP, og læst at man kan køre den hvis man bruger Cygwin, som jeg har installeret.

Men aner ikke hvordan jeg får det til at virke, og har ikke kunne finde nogle tutorials på det så ville bare høre om der var en som kunne hjælpe mig lidt med det, hvis det er den lettest måde at løse det på?



Jeg ville have hjulpet, men så så jeg:
http://www.eksperten.dk/spm/731937

Jeg gidder ikke deltage i tråde der kører flere steder på én gang.

Denne tråd er vel en fortsættelse af:
http://www.eksperten.dk/spm/731690



hvorfor har du en unsigned?



<< < 12 > >>
t