C++ zu großer Integer

Dieses Thema C++ zu großer Integer im Forum "Webentwicklung, Hosting & Programmierung" wurde erstellt von sax553, 5. Juni 2008.

Thema: C++ zu großer Integer Hallo zusammen, ich habe nicht sehr viel ahnung vom Programmieren und hoffe das Ihr mir helfen könnt. Ich...

  1. Hallo zusammen,

    ich habe nicht sehr viel ahnung vom Programmieren und hoffe das Ihr mir helfen könnt.

    Ich Programmiere mit C++ im Borland C++ Builder 5. Ich möchte mir einer Variable Rechnen welche folgenden wert hat: 128571441012201312
    Wenn ich aber das Programm ausführe bekomme ich eine Fehlermeldung, das diese Zahl kein Gültiger Integerwert ist (ist wohl zulang). Nun habe ich eine Funktion gefunden um dies Umzurechnen
    int1 = int2.HighPart * (2^32) + int2.LowPart


    Dies ist aber VBS, weis jemand wie dieser aufruf in C++ lauten könnte.

    Danke und Gruß Sax
     
  2. Du musst einen 64-Bit-Integer verwenden. Den Bezeichner dazu musst du in der Dokumentation zu deinem Compiler nachsehen.

    longlong wird in älteren Compilern verwendet, ulong könnte unsigned und long signed 64-Bit sein.
     
  3. versuche mal die var als unsingned long int zu deklarieren,
    müsste gehen.

    zieh dir mal die verschiedenen variablentypen rein, denn integer ist net gleich integer ;-)

    man unterscheidet zB
    short int, int, long int, wobei es die jeweils als signed oder unsigned gibt, also vorzeichenbehaftet oder nicht. so hat jeder integer- typ seinen wertigkeistbereich von x bis y.
     
  4. Das stimmt, die Wertebereiche sind nicht einmal standardisiert, können sich also von Compiler zu Compiler unterscheiden. Es gibt nur Mindestanforderungen bei den Integer-Typen, in C direkt, in C++ indirekt (für int: the natural size suggested by the architecture of the execution environment).

    Das glaube ich nicht (0 bis mindestens 4294967295;->unsigned long int' und->unsigned long' sind gleichwertig). 128571441012201312 passt da also bei weitem nicht rein.


    Im C-Standard ist seit 1999->long long' definiert (-9223372036854775807 oder kleiner bis mindestens 9223372036854775807;->unsigned long long' 0 bis mindestens 18446744073709551615), aber nicht im C++-Standard.
    Wie Metzi also schon schrieb: In der Doku nach 64-Bit-Integer-Typen schauen. Ich kenne mich mit Borland nicht aus, tippe aber auf etwas wie __uint64 / uint64_t / u_int64_t bzw. ohne->u', je nach Bedarf.
     
  5. ok, du hast gewonnen ;)
     
  6. Juhuu (Homer). Nein, wegen der recht offenen Definition (und dann noch der Unterschiede zwischen C und C++ sowie zwischen verschiedenen Systemen) kann man schon mal danebenliegen bzw. muss einfach nachschlagen. Es gibt da schon merkwürdige Dinge, z.B. ints mit 3 Byte oder alle Integer-Typen mit 32 Bit (wenn auch nicht auf dem PC).
     
Die Seite wird geladen...

C++ zu großer Integer - Ähnliche Themen

Forum Datum
Laufwerk C:/ vergrößern? Windows 7 Forum 9. Aug. 2014
System nach Partitionsvergrößerung auf Raid 1 totlangsam Hardware 7. Jan. 2014
WLAN repeaten/ WLAN Reichweite vergrößern Netzwerk 9. Dez. 2013
Partion Vergrößern/Verkleiner PROBLEME!! Hardware 8. Dez. 2011
Mit Kochsalz die Festplattenkapazität bis 6 TB vergrößern Windows 7 Forum 24. Okt. 2011