Provides C99 integer types such as uint_fast16_t
, uint_least16_t
etc. for interfacing with
C libraries that use them.
| 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
|
| Type | Purpose |
|-------------------------|---------------------------------|
| intptr_t
, uintptr_t
| Type capable of holding *void
|
| intmax_t
, uintmax_t
| Largest integer type available |
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
.