stdint.h (すとどいんと, すたんだーどいんと, えすてぃーでぃーいんと) は、一定の大きさを持つ整数型を定義してあるヘッダファイルです。C99 で導入されました。このヘッダファイルをインクルードすると、環境によらず同じ大きさの整数型を使用することができます。
厳密な大きさを持つ整数型
その大きさより大きくも小さくもない、厳密に同じ大きさな整数型です。
実装がその大きさの型を提供している場合に定義されます。
型 | 符号 | ビット数 | 最小値 | 最大値 | ||
マクロ | 数値 | マクロ | 数値 | |||
int8_t | あり | 8 | INT8_MIN | -128 | INT8_MAX | 127 |
uint8_t | なし | 8 | なし | 0 | UINT8_MAX | 255 |
int16_t | あり | 16 | INT16_MIN | -32,768 | INT16_MAX | 32,767 |
uint16_t | なし | 16 | なし | 0 | UINT16_MAX | 65,535 |
int32_t | あり | 32 | INT32_MIN | -2,147,483,648 | INT32_MAX | 2,147,483,647 |
uint32_t | なし | 32 | なし | 0 | UINT32_MAX | 4,294,967,295 |
int64_t | あり | 64 | INT64_MIN | -9,223,372,036,854,775,808 | INT64_MAX | 9,223,372,036,854,775,807 |
uint64_t | なし | 64 | なし | 0 | UINT64_MAX | 18,446,744,073,709,551,615 |
最小の幅を持つ整数型
保証される最小の大きさを定義した型です。
C言語の規格 (C99) に準拠していれば、以下のマクロが必ず定義されています。
型 | 符号 | 最小ビット数 | 最小値 | 最大値 |
int_least8_t | あり | 8 | INT_LEAST8_MIN | INT_LEAST8_MAX |
uint_least8_t | なし | 8 | なし | UINT_LEAST8_MAX |
int_least16_t | あり | 16 | INT_LEAST16_MIN | INT_LEAST16_MAX |
uint_least16_t | なし | 16 | なし | UINT_LEAST16_MAX |
int_least32_t | あり | 32 | INT_LEAST32_MIN | INT_LEAST32_MAX |
uint_least32_t | なし | 32 | なし | UINT_LEAST32_MAX |
int_least64_t | あり | 64 | INT_LEAST64_MIN | INT_LEAST64_MAX |
uint_least64_t | なし | 64 | なし | UINT_LEAST64_MAX |
最も演算の速い最小の幅を持つ整数型
一般的に演算の速い、最小の大きさを定義した型です。
C言語の規格 (C99) に準拠していれば、以下のマクロが必ず定義されています。
型 | 符号 | 最小ビット数 | 最小値 | 最大値 |
int_fast8_t | あり | 8 | INT_FAST8_MIN | INT_FAST8_MAX |
uint_fast8_t | なし | 8 | なし | UINT_FAST8_MAX |
int_fast16_t | あり | 16 | INT_FAST16_MIN | INT_FAST16_MAX |
uint_fast16_t | なし | 16 | なし | UINT_FAST16_MAX |
int_fast32_t | あり | 32 | INT_FAST32_MIN | INT_FAST32_MAX |
uint_fast32_t | なし | 32 | なし | UINT_FAST32_MAX |
int_fast64_t | あり | 64 | INT_FAST64_MIN | INT_FAST64_MAX |
uint_fast64_t | なし | 64 | なし | UINT_FAST64_MAX |
ポインタを格納可能な整数型
ポインタを格納可能 (ポインタのサイズと同じかそれ以上) な整数型です。
型 | 符号 | 最小値 | 最大値 |
intptr_t | あり | INTPTR_MIN | INTPTR_MAX |
uintptr_t | なし | 0 | UINTPTR_MAX |
最も大きな幅を持つ整数型
最も大きな幅を持つ整数型で、必ず定義されます。
型 | 符号 | 最小値 | 最大値 |
intmax_t | あり | INTMAX_MIN | INTMAX_MAX |
uintmax_t | なし | 0 | UINTMAX_MAX |
関連するヘッダファイル
- inttypes.h?