Variable mit großem Speicher?



  • Hallo!
    Ich habe folgendes Problem:
    Ich programmiere gerade ein mathematisches Programm mit C++, kenn mich aber nicht so gut damit aus. Da ich mit sehr großen Zahlen arbeite, brauche ich aber einen größeren Variablentyp als Integer, der mit 4 Byte ja nur 256 ^ 4 Zahlen darstellen kann. Was kann ich da machen? Bitte um baldige Hilfe,
    rollaa



  • nix. computer gehen immer nur mit 4 byte. sonst gehen sie kaputt.



  • `

    long int

    float

    double

    long double

    long long double

    `



  • Ad aCTa schrieb:

    long int

    Möglicherweise gleich klein wie int .

    Ad aCTa schrieb:

    `float

    double

    long double`

    Würde ich nicht nehmen, da Fliesskommazahlen oft nicht exakt sind, erst recht bei grossen Zahlen.

    Ad aCTa schrieb:

    long long double

    Diesen Typ kenne ich nicht. Aber falls du long long int meinst, der ist offiziell nicht im C++-Standard, dennoch wird er häufig unterstützt. Er stellt zumindest eine Möglichkeit dar, alternativ kann man eine Bibliothek für grosse Zahlen benutzen.



  • Ist long ein eigener Variablentyp oder kann ich das einfach vor das int setzen?



  • Wie Nexus sagte, long int wird vermutlich genauso lang sein wie int. Nimm (long) double, die doppelte Genauigkeit ist in den meisten Fällen okay. Sag mal, in welchen Relationen sich deine Zahlen bewegen. 64-bit? 128-bit? Für Extremfälle gibt es numerische Bibliotheken für wirklich _sehr_ große Zahlen.



  • hhhhhhhhh schrieb:

    Ist long ein eigener Variablentyp oder kann ich das einfach vor das int setzen?

    long ist identisch mit long int , analog für short .

    Ad aCTa schrieb:

    Nimm (long) double, die doppelte Genauigkeit ist in den meisten Fällen okay.

    Nein, tu das nicht, wenn du nur Ganzzahlen brauchst. Fliesskommazahlen haben schon im einstelligen Bereich Ungenauigkeiten, vor allem wenn mehrmals kleinere Operationen wie Inkrementierungen durchführt werden. Ausserdem ist die Semantik ganz eine andere, zum Beispiel bei Division. Alleine das "in den meisten Fällen" sollte Anlass genug sein, über eine sichere Alternative nachzudenken.


Anmelden zum Antworten