Fixed width integer types (since C99)
目次 |
型
|
定義済みヘッダ
<stdint.h>
|
|
int8_t
int16_t
int32_t
int64_t
|
それぞれ正確に8、16、32、64ビットの幅を持つ符号付き整数型
パディングビットなし、負の値には2の補数表現を使用 (実装が直接その型をサポートする場合にのみ提供) |
int_fast8_t
int_fast16_t
int_fast32_t
int_fast64_t
|
それぞれ少なくとも8、16、32、64ビットの幅を持つ
最速の符号付き整数型 |
int_least8_t
int_least16_t
int_least32_t
int_least64_t
|
それぞれ少なくとも8、16、32、64ビットの幅を持つ
最小の符号付き整数型 |
intmax_t
|
最大幅の整数型 |
intptr_t
|
ポインタを保持できる整数型 |
uint8_t
uint16_t
uint32_t
uint64_t
|
それぞれ正確に8、16、32、64ビットの幅を持つ符号なし整数型
(実装が直接その型をサポートする場合にのみ提供) |
uint_fast8_t
uint_fast16_t
uint_fast32_t
uint_fast64_t
|
それぞれ少なくとも8、16、32、64ビットの幅を持つ
最速の符号なし整数型 |
uint_least8_t
uint_least16_t
uint_least32_t
uint_least64_t
|
それぞれ少なくとも8、16、32、64ビットの幅を持つ
最小の符号なし整数型 |
uintmax_t
|
最大幅の符号なし整数型 |
uintptr_t
|
ポインタを保持できる符号なし整数型 |
実装は、
N
が8、16、32、64でない場合に、typedef名
int
N
_t
、
int_fast
N
_t
、
int_least
N
_t
、
uint
N
_t
、
uint_fast
N
_t
、
および
uint_least
N
_t
を定義してもよい。
int
N
_t
の形式のtypedef名は、実装がその幅のパディングなしの整数型をサポートする場合にのみ定義できる。
したがって、
uint24_t
は正確に24ビットの幅を持つ符号なし整数型を表す。
以下の各マクロは、実装が対応するtypedef名を定義する場合にのみ定義される。マクロ
INT
N
_C
および
UINT
N
_C
は、それぞれtypedef名
int_least
N
_t
および
uint_least
N
_t
に対応する。
マクロ定数
|
ヘッダーで定義
<stdint.h>
|
|
符号付き整数 : ビット幅 |
|
|
INT8_WIDTH
INT16_WIDTH
INT32_WIDTH
INT64_WIDTH
(C23)
(オプション)
|
int8_t
,
int16_t
,
int32_t
,
int64_t
型のオブジェクトのビット幅
(正確に 8, 16, 32, 64)
(マクロ定数) |
|
INT_FAST8_WIDTH
INT_FAST16_WIDTH
INT_FAST32_WIDTH
INT_FAST64_WIDTH
(C23)
|
int_fast8_t
,
int_fast16_t
,
int_fast32_t
,
int_fast64_t
型のオブジェクトのビット幅
(マクロ定数) |
|
INT_LEAST8_WIDTH
INT_LEAST16_WIDTH
INT_LEAST32_WIDTH
INT_LEAST64_WIDTH
(C23)
|
int_least8_t
,
int_least16_t
,
int_least32_t
,
int_least64_t
型のオブジェクトのビット幅
(マクロ定数) |
|
INTPTR_WIDTH
(C23)
(オプション)
|
intptr_t型のオブジェクトのビット幅
intptr_t
(マクロ定数) |
|
INTMAX_WIDTH
(C23)
|
intmax_t型のオブジェクトのビット幅
intmax_t
(マクロ定数) |
符号付き整数 : 最小値 |
|
|
INT8_MIN
INT16_MIN
INT32_MIN
INT64_MIN
|
int8_t
,
int16_t
,
int32_t
,
int64_t
型のオブジェクトの最小値
(マクロ定数) |
|
INT_FAST8_MIN
INT_FAST16_MIN
INT_FAST32_MIN
INT_FAST64_MIN
|
int_fast8_t
,
int_fast16_t
,
int_fast32_t
,
int_fast64_t
型のオブジェクトの最小値
(マクロ定数) |
|
INT_LEAST8_MIN
INT_LEAST16_MIN
INT_LEAST32_MIN
INT_LEAST64_MIN
|
int_least8_t
,
int_least16_t
,
int_least32_t
,
int_least64_t
型のオブジェクトの最小値
(マクロ定数) |
|
INTPTR_MIN
|
intptr_t
型のオブジェクトの最小値
(マクロ定数) |
|
INTMAX_MIN
|
intmax_t型のオブジェクトの最小値
intmax_t
(マクロ定数) |
符号付き整数 : 最大値 |
|
|
INT8_MAX
INT16_MAX
INT32_MAX
INT64_MAX
|
int8_t
,
int16_t
,
int32_t
,
int64_t
型のオブジェクトの最大値
(マクロ定数) |
|
INT_FAST8_MAX
INT_FAST16_MAX
INT_FAST32_MAX
INT_FAST64_MAX
|
型
int_fast8_t
,
int_fast16_t
,
int_fast32_t
,
int_fast64_t
のオブジェクトの最大値
(マクロ定数) |
|
INT_LEAST8_MAX
INT_LEAST16_MAX
INT_LEAST32_MAX
INT_LEAST64_MAX
|
int_least8_t
,
int_least16_t
,
int_least32_t
,
int_least64_t
型のオブジェクトの最大値
(マクロ定数) |
|
INTPTR_MAX
|
intptr_t
型のオブジェクトの最大値
(マクロ定数) |
|
INTMAX_MAX
|
intmax_t型のオブジェクトの最大値
intmax_t
(マクロ定数) |
符号なし整数 : ビット幅 |
|
|
UINT8_WIDTH
UINT16_WIDTH
UINT32_WIDTH
UINT64_WIDTH
(C23)
(オプション)
|
uint8_t
,
uint16_t
,
uint32_t
,
uint64_t
型のオブジェクトのビット幅
(正確に 8, 16, 32, 64)
(マクロ定数) |
|
UINT_FAST8_WIDTH
UINT_FAST16_WIDTH
UINT_FAST32_WIDTH
UINT_FAST64_WIDTH
(C23)
|
uint_fast8_t
,
uint_fast16_t
,
uint_fast32_t
,
uint_fast64_t
型のオブジェクトのビット幅
(マクロ定数) |
|
UINT_LEAST8_WIDTH
UINT_LEAST16_WIDTH
UINT_LEAST32_WIDTH
UINT_LEAST64_WIDTH
(C23)
|
uint_least8_t
,
uint_least16_t
,
uint_least32_t
,
uint_least64_t
型のオブジェクトのビット幅
(マクロ定数) |
|
UINTPTR_WIDTH
(C23)
(optional)
|
uintptr_t型のオブジェクトのビット幅
uintptr_t
(マクロ定数) |
|
UINTMAX_WIDTH
(C23)
|
uintmax_t型のオブジェクトのビット幅
uintmax_t
(マクロ定数) |
符号なし整数 : 最大値 |
|
|
UINT8_MAX
UINT16_MAX
UINT32_MAX
UINT64_MAX
|
uint8_t
,
uint16_t
,
uint32_t
,
uint64_t
型のオブジェクトの最大値
(マクロ定数) |
|
UINT_FAST8_MAX
UINT_FAST16_MAX
UINT_FAST32_MAX
UINT_FAST64_MAX
|
uint_fast8_t
,
uint_fast16_t
,
uint_fast32_t
,
uint_fast64_t
型のオブジェクトの最大値
(マクロ定数) |
|
UINT_LEAST8_MAX
UINT_LEAST16_MAX
UINT_LEAST32_MAX
UINT_LEAST64_MAX
|
uint_least8_t
,
uint_least16_t
,
uint_least32_t
,
uint_least64_t
型のオブジェクトの最大値
(マクロ定数) |
|
UINTPTR_MAX
|
uintptr_t型のオブジェクトの最大値
uintptr_t
(マクロ定数) |
|
UINTMAX_MAX
|
uintmax_t型のオブジェクトの最大値
uintmax_t
(マクロ定数) |
最小幅整数定数用関数マクロ
|
INT8_C
INT16_C
INT32_C
INT64_C
|
指定された値を持つ整数定数式に展開され、それぞれ
int_least8_t
、
int_least16_t
、
int_least32_t
、
int_least64_t
型を持つ
(関数マクロ) |
|
INTMAX_C
|
指定された値を持つ整数定数式に展開され、
intmax_t
型を持つ
(関数マクロ) |
|
UINT8_C
UINT16_C
UINT32_C
UINT64_C
|
指定された値を持つ整数定数式に展開され、それぞれ
uint_least8_t
、
uint_least16_t
、
uint_least32_t
、
uint_least64_t
型を持つ
(関数マクロ) |
|
UINTMAX_C
|
指定された値を持つ整数定数式に展開され、
uintmax_t
型を持つ
(関数マクロ) |
#include <stdint.h> UINT64_C(0x123) // 0x123ULL または 0x123UL に展開される可能性があります
フォーマットマクロ定数
|
ヘッダーで定義
<inttypes.h>
|
fprintf関数ファミリーの fprintf フォーマット定数
ここにリストされている
PRI
マクロは、実装が対応するtypedef名を定義する場合にのみ定義されます。
|
等価な
int または unsigned int の型 |
説明 | データ型用マクロ | ||||
|---|---|---|---|---|---|---|
[u]int
x
_t
|
[u]int_least
x
_t
|
[u]int_fast
x
_t
|
[u]intmax_t
|
[u]intptr_t
|
||
d
|
符号付き10進整数値の出力 | PRId x | PRIdLEAST x | PRIdFAST x | PRIdMAX | PRIdPTR |
i
|
PRIi x | PRIiLEAST x | PRIiFAST x | PRIiMAX | PRIiPTR | |
u
|
符号なし10進整数値の出力 | PRIu x | PRIuLEAST x | PRIuFAST x | PRIuMAX | PRIuPTR |
o
|
符号なし8進整数値の出力 | PRIo x | PRIoLEAST x | PRIoFAST x | PRIoMAX | PRIoPTR |
x
|
符号なし小文字16進整数値の出力 | PRIx x | PRIxLEAST x | PRIxFAST x | PRIxMAX | PRIxPTR |
X
|
符号なし大文字16進整数値の出力 | PRIX x | PRIXLEAST x | PRIXFAST x | PRIXMAX | PRIXPTR |
fscanf関数ファミリーの fscanf フォーマット定数
ここにリストされている各
SCN
マクロは、実装が対応するtypedef名を定義しており、かつその型に対して適切な
fscanf
長さ修飾子を持っている場合にのみ定義されます。
|
等価な
int または unsigned int |
説明 | データ型用マクロ | ||||
|---|---|---|---|---|---|---|
[u]int
x
_t
|
[u]int_least
x
_t
|
[u]int_fast
x
_t
|
[u]intmax_t
|
[u]intptr_t
|
||
d
|
符号付き10進整数値の入力 | SCNd x | SCNdLEAST x | SCNdFAST x | SCNdMAX | SCNdPTR |
i
|
符号付き整数値の入力(基数は解析された最初の文字によって決定) | SCNi x | SCNiLEAST x | SCNiFAST x | SCNiMAX | SCNiPTR |
u
|
符号なし10進整数値の入力 | SCNu x | SCNuLEAST x | SCNuFAST x | SCNuMAX | SCNuPTR |
o
|
符号なし8進整数値の入力 | SCNo x | SCNoLEAST x | SCNoFAST x | SCNoMAX | SCNoPTR |
x
|
符号なし16進整数値の入力 | SCNx x | SCNxLEAST x | SCNxFAST x | SCNxMAX | SCNxPTR |
例
関連項目: C++互換性に関する注記 この例で使用されている フォーマットマクロ の前のスペースについて。
出力例:
8 lld -9223372036854775808 +9223372036854775807 +7
参考文献
- C23規格 (ISO/IEC 9899:2024):
-
- 7.8.1 書式指定子のマクロ (p: TBD)
-
- 7.18 整数型 <stdint.h> (p: TBD)
- C17 standard (ISO/IEC 9899:2018):
-
- 7.8.1 フォーマット指定子のマクロ (p: 158-159)
-
- 7.18 整数型 <stdint.h> (p: 212-216)
- C11規格 (ISO/IEC 9899:2011):
-
- 7.8.1 書式指定子のマクロ (p: 217-218)
-
- 7.18 整数型 <stdint.h> (p: 289-295)
- C99標準(ISO/IEC 9899:1999):
-
- 7.8.1 フォーマット指定子のマクロ(p: 198-199)
-
- 7.18 整数型 <stdint.h>(p: 255-261)
関連項目
|
C++ documentation
for
Fixed width integer types
|
|
|
C++ documentation
for
User-defined literals (
formatting macros note
)
|