großer Integer



  • Hallo,

    ich bin verzweifelt am versuchen einen großen Integer anzulegen. Ich benutze Eclipse mit MinGW (5.xx) gcc c++.

    Ich habe schon alles möglich versucht. Ich dachte es gäbe einen long long typ

    long long number = 891751572333;
    Diese Zeile spukt mir immer wieder
    error: integer constant is too large for "long" type
    raus

    Wie kann ich einen so großen Integer abspeichern?? (Hab WinXP 32 bit)

    Danke Grüße
    gillys



  • Hi,

    hast du es mal mit long long number = 891751572333LL; versucht?

    Liebe Grüße,
    fkerber



  • long long ist AFAIK nicht im Standard definiert, sondern eine Compiler-Extension, die du da scheinbar nicht hast.



  • fkerber schrieb:

    hast du es mal mit long long number = 891751572333LL; versucht?

    Ich denke auch, dass es damit gehen müsste. long long wird vom GCC als Erweiterung unterstützt. Aber Ganzzahl-Literale bekommen diesen Typen nicht automatisch verpasst, man muss ihn mit dem LL-Suffix erzwingen.

    In C++0x wird das anders aussehen. Da braucht man den Suffix dann nicht mehr. Ist die Zahl zu groß für long, wird dann automatisch long long als Literal-Typ verwendet.



  • Danke so hat es funktioniert!
    Vielen Dank noch mal



  • Wenn du so große Zahlen verwendest, solltest du vielleicht darüber nachdenken, ob du nicht eine Big-Number-Bibliothek verwenden willst. Die können dann mit Integern beliebiger Länge arbeiten.


Log in to reply