Richtig grosse Zahlen...

HAL

Erfahrenes Mitglied
Wie kann ich mit sehr grossen Zahlen rechnen, die nciht in die Variablentypen reinpassen? Da muss es doch eine Moeglichkeit geben, oder ist wirklich alles auf 2^32 beschraenkt?
 
Hallo!

Ich bin im source-forge Projekt tätig dass genau diese Lösung bietet!
Wir entwickeln eine Large Number Class, mit der man ganz normal wie mit einem Integer rechnen kann.
Division ist zur Zeit noch nicht ganz so schnell aber funktionieren tuts auf jeden Fall schon!

Link: http://lnc.sourceforge.net
 
Original geschrieben von rockbaer
Alternativ kannst du auch
Freelip oder Miracl benutzen.


ich hab mir jetzt freelip runtergeladen. da ich hinter ner schulfirewall sitze, kann ich kaum was runterladen, freelib hat mehr oder weniger zufaellig geklappt, keine ahnung warum...
aber es funtioniert nciht so richtig. ich hab alle noetigen dateien inkludiert, aber beim kompilieren kommt immer "initialisation at "long int*" lacks at cast" oder so...kann mir jemand helfen?

ps: ich hoffe lip ist fuer c++ und nciht c ;)
 
Hier ein Beispiel zur Anwendung von Freelip (kompiliert mit visual c++):
Code:
#include <stdio.h>
#include <stdlib.h>
extern "C"{
	#include "lip.h"
}

#pragma comment(lib, "ws2_32.lib")

int main(void)
{
    verylong a = 0;
    verylong b = 0;
    verylong c = 0;

    printf("Erste Zahl: ");
    zread(&a);
    printf("Zweite Zahl: ");
    zread(&b);
    zmul(a, b, &c);
    printf("Multiplikationsresultat: ");
    zwriteln(c); 
    system("PAUSE");

    return 0;
}
 
hmmm... also in GCC heißt der 64bit datentyp longlong in VC++ heißt er _int64

also wenn du damit ausommst empfehl ich dir die 64bit datentypen dafür...

ansonsten musste eh ne lib nehmen die entweder mit strings arbeitet oder mit eigenen datentypen (classes)
 
Zurück