64 Bit datentyp für C?



  • Hallo,

    ich suche einen 64 Bit datentyp der auch noch für c-standard 89 gilt und nicht nur ab c-99. Gibt es da einen?

    Ab c-99 ist mir long long bekannt....

    kann mir jemand helfen?Danke



  • In C sind die Größen der Integer nur sehr grob festgelegt. Daher kann man nicht ohne weiteres sagen, welcher Integertyp welche Größe hat. Auch long long muss nicht 64 Bit groß sein!

    In C99 gibt es stdint.h mit typedefs für entsprechende Typen. Bei Google und der englischen Wikipedia findest du entsprechende Header auch für Compiler, die kein C99 können.



  • rüdiger schrieb:

    Auch long long muss nicht 64 Bit groß sein!

    Stimmt, er kann auch groesser sein, aber 64 bit, bzw 8 byte ist die vom ANSI Standard festgelegte Mindestgroesse fuer long.
    Wenn es sich also um standard konformes C handelt, welches long long int unterstuetzt, kann man sich darauf verlassen, das der Compiler das richtig auf den auf der Architektur verwendeten Speicher umlegt / compiliert.



  • Gscheidmeier schrieb:

    Stimmt, er kann auch groesser sein, aber 64 bit, bzw 8 byte ist die vom ANSI Standard festgelegte Mindestgroesse fuer long.

    — minimum value for an object of type long int
                                       -2147483647 // −(2^31 - 1)
    

    😉

    lg lolo



  • Gscheidmeier schrieb:

    ...aber 64 bit, bzw 8 byte ist die vom ANSI Standard festgelegte Mindestgroesse fuer long.

    ich dachte immer, 'long' muss >= int sein, also nicht kleiner, um ansi-konform zu sein.
    🙂


Anmelden zum Antworten