G
nexperty schrieb:
groovemaster schrieb:
pumuckl schrieb:
afaik long int.
Yep. Bzw unsigned long int.
pumuckl schrieb:
uint64_t ist vermutlich irgendeine typedef, die irgendein spezieller Compilerhersteller (vielleicht M$?) sich ausgedacht hat, zum Standard gehörts vermutlich nicht.
uint64_t gehört zum C Standard. (C99, stdint.h)
Stimmt so nicht ganz, lieber groovemaster, uint64_t ist eine Erweiterung zum ISO Standard, die unter bestimmten Voraussetzungen (POSIX Konformität) notwendig ist. Sie ist im Dokument http://www.opengroup.org/onlinepubs/009695399/ eindeutig mit [CX] (... extends the ISO C standard) gekennzeichnet.
Quelle uninteressant und nicht relevant. Referenz ist ISO/IEC 9899:1999 und nichts anderes. Und dort ist uint64_t eindeutig als Typ definiert. Siehe 7.18 und B.17. Dass dieser optional ist und von der Implementation nicht definiert werden muss, ist ebenso irrelevant, lieber nexperty. Dir ist hoffentlich klar, dass Spezifikation und Implementation zwei verschiedene Paar Schuhe sind.
nexperty schrieb:
Bezüglich C99 hast du für N = 8, 16 und 32 recht. N = 64 ist in der Aufzählung nicht enthalten.
Dann solltest du nochmal genau hinschauen.
7.18.1-3 schrieb:
These types are optional. However, if an implementation provides integer types with widths of 8, 16, 32, or 64 bits, it shall define the corresponding typedef names.
Für den restlichen Käse den du geschrieben hast, würde ich wärmstens empfehlen, deine Grundlagenkenntnisse aufzufrischen.