標準Cライブラリ <stdint.h>

Last-modified: 2012-11-17 (土) 21:53:43

stdint.h (すとどいんと, すたんだーどいんと, えすてぃーでぃーいんと) は、一定の大きさを持つ整数型を定義してあるヘッダファイルです。C99 で導入されました。このヘッダファイルをインクルードすると、環境によらず同じ大きさの整数型を使用することができます。

 

厳密な大きさを持つ整数型

その大きさより大きくも小さくもない、厳密に同じ大きさな整数型です。
実装がその大きさの型を提供している場合に定義されます。

符号ビット数最小値最大値
マクロ数値マクロ数値
int8_tあり8INT8_MIN-128INT8_MAX127
uint8_tなし8なし0UINT8_MAX255
int16_tあり16INT16_MIN-32,768INT16_MAX32,767
uint16_tなし16なし0UINT16_MAX65,535
int32_tあり32INT32_MIN-2,147,483,648INT32_MAX2,147,483,647
uint32_tなし32なし0UINT32_MAX4,294,967,295
int64_tあり64INT64_MIN-9,223,372,036,854,775,808INT64_MAX9,223,372,036,854,775,807
uint64_tなし64なし0UINT64_MAX18,446,744,073,709,551,615

最小の幅を持つ整数型

保証される最小の大きさを定義した型です。
C言語の規格 (C99) に準拠していれば、以下のマクロが必ず定義されています。

符号最小ビット数最小値最大値
int_least8_tあり8INT_LEAST8_MININT_LEAST8_MAX
uint_least8_tなし8なしUINT_LEAST8_MAX
int_least16_tあり16INT_LEAST16_MININT_LEAST16_MAX
uint_least16_tなし16なしUINT_LEAST16_MAX
int_least32_tあり32INT_LEAST32_MININT_LEAST32_MAX
uint_least32_tなし32なしUINT_LEAST32_MAX
int_least64_tあり64INT_LEAST64_MININT_LEAST64_MAX
uint_least64_tなし64なしUINT_LEAST64_MAX

最も演算の速い最小の幅を持つ整数型

一般的に演算の速い、最小の大きさを定義した型です。
C言語の規格 (C99) に準拠していれば、以下のマクロが必ず定義されています。

符号最小ビット数最小値最大値
int_fast8_tあり8INT_FAST8_MININT_FAST8_MAX
uint_fast8_tなし8なしUINT_FAST8_MAX
int_fast16_tあり16INT_FAST16_MININT_FAST16_MAX
uint_fast16_tなし16なしUINT_FAST16_MAX
int_fast32_tあり32INT_FAST32_MININT_FAST32_MAX
uint_fast32_tなし32なしUINT_FAST32_MAX
int_fast64_tあり64INT_FAST64_MININT_FAST64_MAX
uint_fast64_tなし64なしUINT_FAST64_MAX

ポインタを格納可能な整数型

ポインタを格納可能 (ポインタのサイズと同じかそれ以上) な整数型です。

符号最小値最大値
intptr_tありINTPTR_MININTPTR_MAX
uintptr_tなし0UINTPTR_MAX

最も大きな幅を持つ整数型

最も大きな幅を持つ整数型で、必ず定義されます。

符号最小値最大値
intmax_tありINTMAX_MININTMAX_MAX
uintmax_tなし0UINTMAX_MAX

関連するヘッダファイル

  • inttypes.h?