stdint
Provides C99 integer types such as uint_fast16_t
, uint_least16_t
etc. for interfacing with
C libraries that use them.
Types of defined sizes
N | Exact size (N bits) | Smallest type with at least N bits | Fastest type with at least N bits |
---|---|---|---|
8 |
int8_t , uint8_t |
int_least8_t , uint_least8_t |
int_fast8_t , uint_fast8_t |
16 |
int16_t , uint16_t |
int_least16_t , uint_least16_t |
int_fast16_t , uint_fast16_t |
32 |
int32_t , uint32_t |
int_least32_t , uint_least32_t |
int_fast32_t , uint_fast32_t |
64 |
int64_t , uint64_t |
int_least64_t , uint_least64_t |
int_fast64_t , uint_fast64_t |
Special types
Type | Purpose |
---|---|
intptr_t , uintptr_t |
Type capable of holding *void |
intmax_t , uintmax_t |
Largest integer type available |
Constants
According MIN
and MAX
constants defined in stdint.h
are exposed through
the consts
module such as INT_FAST16_MIN
and INT_FAST16_MAX
. Due to Rust's type system,
these value are identical to int_fast16_t::MIN
and int_fast16_t::MAX
.