◐ Shell
clean mode source ↗

固定幅の整数型 (C99以上) - cppreference.com

提供: cppreference.com

ヘッダ <stdint.h> で定義

int8_tint16_tint32_tint64_t

(オプション)

ちょうど 8, 16, 32, 64 ビットの幅を持つ、パディングのない、負の値に2の補数を使用する、符号付き整数型 (処理系がそのような型を直接サポートする場合のみ提供されます)
(typedef) [edit]

int_fast8_tint_fast16_tint_fast32_tint_fast64_t

少なくとも 8, 16, 32, 64 ビットの幅を持つ最も高速な符号付き整数型
(typedef) [edit]

int_least8_tint_least16_tint_least32_tint_least64_t

少なくとも 8, 16, 32, 64 ビットの幅を持つ最も小さな符号付き整数型
(typedef) [edit]

intmax_t

最も大きな幅の整数型
(typedef) [edit]

intptr_t

(オプション)

ポインタを保持できる符号付き整数型
(typedef) [edit]

uint8_tuint16_tuint32_tuint64_t

(オプション)

ちょうど 8, 16, 32, 64 ビットの幅を持つ符号なし整数型 (処理系がそのような型を直接サポートする場合のみ提供されます)
(typedef) [edit]

uint_fast8_tuint_fast16_tuint_fast32_tuint_fast64_t

少なくとも 8, 16, 32, 64 ビットの幅を持つ最も高速な符号なし整数型
(typedef) [edit]

uint_least8_tuint_least16_tuint_least32_tuint_least64_t

少なくとも 8, 16, 32, 64 ビットの幅を持つ最も小さな符号なし整数型
(typedef) [edit]

uintmax_t

最も大きな幅の符号なし整数型
(typedef) [edit]

uintptr_t

(オプション)

ポインタを保持できる符号なし整数型
(typedef) [edit]

マクロ定数

ヘッダ <stdint.h> で定義

符号付き整数 : 最小値

INT8_MININT16_MININT32_MININT64_MIN

(オプション)

int8_t, int16_t, int32_t, int64_t 型のオブジェクトの最小値
(マクロ定数) [edit]

INT_FAST8_MININT_FAST16_MININT_FAST32_MININT_FAST64_MIN

int_fast8_t, int_fast16_t, int_fast32_t, int_fast64_t型のオブジェクトの最小値
(マクロ定数) [edit]

INT_LEAST8_MININT_LEAST16_MININT_LEAST32_MININT_LEAST64_MIN

int_least8_t, int_least16_t, int_least32_t, int_least64_t 型のオブジェクトの最小値
(マクロ定数) [edit]

INTPTR_MIN

(オプション)

intptr_t 型のオブジェクトの最小値
(マクロ定数) [edit]

INTMAX_MIN

intmax_t 型のオブジェクトの最小値
(マクロ定数) [edit]
符号付き整数 : 最大値

INT8_MAXINT16_MAXINT32_MAXINT64_MAX

(オプション)

int8_t, int16_t, int32_t, int64_t 型のオブジェクトの最大値
(マクロ定数) [edit]

INT_FAST8_MAXINT_FAST16_MAXINT_FAST32_MAXINT_FAST64_MAX

int_fast8_t, int_fast16_t, int_fast32_t, int_fast64_t 型のオブジェクトの最大値
(マクロ定数) [edit]

INT_LEAST8_MAXINT_LEAST16_MAXINT_LEAST32_MAXINT_LEAST64_MAX

int_least8_t, int_least16_t, int_least32_t, int_least64_t 型のオブジェクトの最大値
(マクロ定数) [edit]

INTPTR_MAX

(オプション)

intptr_t 型のオブジェクトの最大値
(マクロ定数) [edit]

INTMAX_MAX

intmax_t 型のオブジェクトの最大値
(マクロ定数) [edit]
符号なし整数 : 最大値

UINT8_MAXUINT16_MAXUINT32_MAXUINT64_MAX

(オプション)

uint8_t, uint16_t, uint32_t, uint64_t 型のオブジェクトの最大値
(マクロ定数) [edit]

UINT_FAST8_MAXUINT_FAST16_MAXUINT_FAST32_MAXUINT_FAST64_MAX

uint_fast8_t, uint_fast16_t, uint_fast32_t, uint_fast64_t 型のオブジェクトの最大値
(マクロ定数) [edit]

UINT_LEAST8_MAXUINT_LEAST16_MAXUINT_LEAST32_MAXUINT_LEAST64_MAX

uint_least8_t, uint_least16_t, uint_least32_t, uint_least64_t 型のオブジェクトの最大値
(マクロ定数) [edit]

UINTPTR_MAX

(オプション)

uintptr_t 型のオブジェクトの最大値
(マクロ定数) [edit]

UINTMAX_MAX

uintmax_t 型のオブジェクトの最大値
(マクロ定数) [edit]

最小幅の整数定数のための関数マクロ

INT8_CINT16_CINT32_CINT64_C

引数で指定された値を持つ int_least8_t, int_least16_t, int_least32_t, int_least64_t 型の昇格した型の整数定数式に展開されます
(関数マクロ) [edit]
引数で指定された値を持つ intmax_t 型の整数定数式に展開されます
(関数マクロ) [edit]

UINT8_CUINT16_CUINT32_CUINT64_C

引数で指定された値を持つ uint_least8_t, uint_least16_t, uint_least32_t, uint_least64_t 型の昇格した型の整数定数式に展開されます
(関数マクロ) [edit]
引数で指定された値を持つ uintmax_t 型の整数定数式に展開されます
(関数マクロ) [edit]
#include <stdint.h>
UINT64_C(0x123) // might expand to 0x123ULL or 0x123UL

書式マクロ定数

fprintf ファミリーの関数で使用するための書式定数

int または
unsigned int 用の
対応する指定子
説明 データ型用のマクロ

[u]intx_t

[u]int_leastx_t

[u]int_fastx_t

[u]intmax_t

[u]intptr_t

x = 8, 16, 32 または 64
d 符号付き10進整数値の出力 PRIdx PRIdLEASTx PRIdFASTx PRIdMAX PRIdPTR
i PRIix PRIiLEASTx PRIiFASTx PRIiMAX PRIiPTR
u 符号なし10進整数値の出力 PRIux PRIuLEASTx PRIuFASTx PRIuMAX PRIuPTR
o 符号なし8進整数値の出力 PRIox PRIoLEASTx PRIoFASTx PRIoMAX PRIoPTR
x 符号なし小文字16進整数値の出力 PRIxx PRIxLEASTx PRIxFASTx PRIxMAX PRIxPTR
X 符号なし大文字16進整数値の出力 PRIXx PRIXLEASTx PRIXFASTx PRIXMAX PRIXPTR

fscanf ファミリーの関数で使用するための書式定数

int または
unsigned int 用の
対応する指定子
説明 データ型用のマクロ

[u]intx_t

[u]int_leastx_t

[u]int_fastx_t

[u]intmax_t

[u]intptr_t

x = 8, 16, 32 または 64
d 符号付き10進整数値の入力 SCNdx SCNdLEASTx SCNdFASTx SCNdMAX SCNdPTR
i 符号付き整数値の入力
(先頭の文字を解析することによって基数が決定されます)
SCNix SCNiLEASTx SCNiFASTx SCNiMAX SCNiPTR
u 符号なし10進整数値の入力 SCNux SCNuLEASTx SCNuFASTx SCNuMAX SCNuPTR
o 符号なし8進整数値の入力 SCNox SCNoLEASTx SCNoFASTx SCNoMAX SCNoPTR
x 符号なし16進整数値の入力 SCNxx SCNxLEASTx SCNxFASTx SCNxMAX SCNxPTR

#include <stdio.h>
#include <inttypes.h>

int main(void)
{
    printf("%zu\n", sizeof(int64_t));
    printf("%s\n", PRId64);
    printf("%+"PRId64"\n", INT64_MIN);
    printf("%+"PRId64"\n", INT64_MAX);
    
    int64_t n = 7;
    printf("%+"PRId64"\n", n);
}

出力例:

8
lld
-9223372036854775808
+9223372036854775807
+7

関連項目