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
rausWie 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.