| Name | Description | Notes | Source | Availability | |||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
INT32_ |
Maximum value of
int32_t |
L | ? | M | <stdint.h> |
C99 | C11 | ||||
INT32_ |
Minimum value of
int32_t |
L | ? | M | <stdint.h> |
C99 | C11 | ||||
int32_t |
Signed integer type of exactly 32 bits | L | ? | T | <stdint.h> |
C99 | C11 | ||||
PRId32 |
Decimal output conversion specifier for
int32_t |
? | M | <inttypes.h> |
C99 | C11 | |||||
PRIi32 |
Decimal output conversion specifier for
int32_t |
? | M | <inttypes.h> |
C99 | C11 | |||||
PRIo32 |
Octal output conversion specifier for
uint32_t |
? | M | <inttypes.h> |
C99 | C11 | |||||
PRIu32 |
Decimal output conversion specifier for
uint32_t |
? | M | <inttypes.h> |
C99 | C11 | |||||
PRIX32 |
Hexdecimal output conversion specifier for
uint32_t |
? | M | <inttypes.h> |
C99 | C11 | |||||
PRIx32 |
Hexdecimal output conversion specifier for
uint32_t |
? | M | <inttypes.h> |
C99 | C11 | |||||
SCNd32 |
Decimal input conversion specifier for
int32_t |
? | M | <inttypes.h> |
C99 | C11 | |||||
SCNi32 |
General input conversion specifier for
int32_t |
? | M | <inttypes.h> |
C99 | C11 | |||||
SCNo32 |
Octal input conversion specifier for
uint32_t |
? | M | <inttypes.h> |
C99 | C11 | |||||
SCNu32 |
Decimal input conversion specifier for
uint32_t |
? | M | <inttypes.h> |
C99 | C11 | |||||
SCNx32 |
Hexdecimal input conversion specifier for
uint32_t |
? | M | <inttypes.h> |
C99 | C11 | |||||
UINT32_ |
Maximum value of
uint32_t |
L | ? | M | <stdint.h> |
C99 | C11 | ||||
uint32_t |
Unsigned integer type of exactly 32 bits | L | ? | T | <stdint.h> |
C99 | C11 | ||||
uint32_t and
int32_t are optional integer types of exactly 32 bits. Both types
have no padding, and
int32_t uses 2's complement.
uint32_t is unsigned, and has the range zero to
UINT32_, which is [0, +4294967295].
int32_t is signed, and has the range
INT32_ to
INT32_, which is [−2147483648,
+2147483647].
The following macros can be used in the fmt argument of printf to print arguments of types
uint32_t and
int32_t:
PRIu32PRIo32PRIx32PRIX32PRId32PRIi32
The following macros can be used in the fmt argument of scanf to scan arguments of types
uint32_t * and
int32_t *:
SCNu32SCNo32SCNx32SCNd32SCNi32
The existence of macros such as
PRIu32 can be used to detect the existence of
uint32_t with conditional compilation.
Related types:
uint32_tint32_tuint_least32_t int_least32_t uint_fast32_t int_fast32_t
| Property |
uint32_t |
int32_t |
|
|---|---|---|---|
| Width (bits) | 32 | ||
| Lowest value | 0 | −2147483648 | |
| Highest value | +4294967295 | +2147483647 | |
printf |
base 10 | "%"
PRIu32 |
"%"
PRId32 or "%"
PRIi32 |
| base 8 | "%"
PRIo32 |
||
| upper-case base 16 | "%"
PRIX32 |
||
| lower-case base 16 | "%"
PRIx32 |
||
scanf |
base 10 | "%"
SCNu32 |
"%"
SCNd32 |
| base 8 | "%"
SCNo32 |
||
| base 16 | "%"
SCNx32 |
||
| base 16, 8 or 10 by prefix | "%"
SCNi32 |
||