uint32_t
-
Hallo, kann mir bitte jemand erklären für was man diesen Typ benötigt?
uint32_t
-
Der Name des Typs ist Programm:
u -> unsigned, also vorzeichenlos
int -> integraler typ, also Ganzzahl
32 -> mindestens 32 Bit groß.Warum es den geibt? Weil die bekannteren integralen Typen (signed/unsigned char, (unsigned) short, (unsigned) int, (unsigned) long) keine genau definierte Größe haben, sondern nur Grenzen. So ist ein (unsigned) int auf typischen 32bit-Systemen 32 bit groß, auf 64bit-Systemen aber meistens 64 bit. Es kann aber auch Systeme geben, auf denen ein int nur 16 bit groß ist.
Mit uint32_t stellst du sicher, dass du einen gewissen Wertebereich (nämlich 0 bis 232-1) zur Verfügung hast.
-
pumuckl schrieb:
32 -> mindestens 32 Bit groß.
Soll ich erst Meister Eder holen?
Wenn ich den Standard zitieren darf:N3337 18.4.1 Klausel 2 schrieb:
The header (hier ist
<cstdint>
gemeint) defines all functions, types, and macros the same as 7.18 in the C standard.Wenn ich also hier den C99 Standard zitieren darf (im C11 Standard ist es genauso):
N1256 7.18.1.1 schrieb:
1. The typedef name intN_t designates a signed integer type with width N, no padding
bits, and a two’s complement representation. Thus, int8_t denotes such a signed
integer type with a width of exactly 8 bits.
2. The typedef name uintN_t designates an unsigned integer type with width N and no
padding bits. Thus, uint24_t denotes such an unsigned integer type with a width of
exactly 24 bits.