LoginSignup
24
20

More than 5 years have passed since last update.

【C/C++】整数型一覧表

Last updated at Posted at 2018-09-19

一覧表

型名 サイズ 符号 接尾辞 include/リリース
size_t ※1(十分に大きいサイズ) なし stddef.h(C), cstddef(C++)
ptrdiff_t ※2 あり stddef.h(C), cstddef(C++)
wint_t ※3 wchar.h(C99), cwchar(C++11)
sig_atomic_t ※4 signal.h(C), csignal(C++)
intptr_t [ポインタサイズ] あり stdint.h(C99), cstdint(C++11)
uintptr_t [ポインタサイズ] なし stdint.h(C99), cstdint(C++11)
_Bool ※5 (1ビット以上) なし C99 ※C限定
bool ※5 (1ビット以上) なし stdbool.h(C99), C++
int8_t 8ビット あり stdint.h(C99), cstdint(C++11)
uint8_t 8ビット なし stdint.h(C99), cstdint(C++11)
int_fast8_t (高速)8ビット以上 あり stdint.h(C99), cstdint(C++11)
uint_fast8_t (高速)8ビット以上 なし stdint.h(C99), cstdint(C++11)
int_least8_t (最小)8ビット以上 あり stdint.h(C99), cstdint(C++11)
uint_least8_t (最小)8ビット以上 なし stdint.h(C99), cstdint(C++11)
char 8ビット以上int以下(1バイト) C, C++
signed char 8ビット以上int以下(1バイト) あり C, C++
unsigned char 8ビット以上int以下(1バイト) なし C, C++
wchar_t ※6 (8ビット以上) stddef.h(C), cstddef(C++)
int16_t 16ビット あり stdint.h(C99), cstdint(C++11)
uint16_t 16ビット なし stdint.h(C99), cstdint(C++11)
int_fast16_t (高速)16ビット以上 あり stdint.h(C99), cstdint(C++11)
uint_fast16_t (高速)16ビット以上 なし stdint.h(C99), cstdint(C++11)
int_least16_t (最小)16ビット以上 あり stdint.h(C99), cstdint(C++11)
uint_least16_t (最小)16ビット以上 なし stdint.h(C99), cstdint(C++11)
short 16ビット以上int以下 あり C, C++
signed short 16ビット以上int以下 あり C, C++
signed short int 16ビット以上int以下 あり C, C++
short int 16ビット以上int以下 あり C, C++
unsigned short 16ビット以上int以下 なし C, C++
unsigned short int 16ビット以上int以下 なし C, C++
int 16ビット以上 あり なし C, C++
signed 16ビット以上 あり なし C, C++
signed int 16ビット以上 あり なし C, C++
unsigned 16ビット以上 なし u, U C, C++
unsigned int 16ビット以上 なし u, U C, C++
int32_t 32ビット あり stdint.h(C99), cstdint(C++11)
uint32_t 32ビット なし stdint.h(C99), cstdint(C++11)
int_fast32_t (高速)32ビット以上 あり stdint.h(C99), cstdint(C++11)
uint_fast32_t (高速)32ビット以上 なし stdint.h(C99), cstdint(C++11)
int_least32_t (最小)32ビット以上 あり stdint.h(C99), cstdint(C++11)
uint_least32_t (最小)32ビット以上 なし stdint.h(C99), cstdint(C++11)
long 32ビット以上(long long以下) あり l, L C, C++
signed long 32ビット以上(long long以下) あり l, L C, C++
signed long int 32ビット以上(long long以下) あり l, L C, C++
long int 32ビット以上(long long以下) あり l, L C, C++
unsigned long 32ビット以上(long long以下) なし ul, UL,Ul, uL C, C++
unsigned long int 32ビット以上(long long以下) なし ul, UL,Ul, uL C, C++
int64_t 64ビット あり stdint.h(C99), cstdint(C++11)
uint64_t 64ビット なし stdint.h(C99), cstdint(C++11)
int_fast64_t (高速)64ビット以上 あり stdint.h(C99), cstdint(C++11)
uint_fast64_t (高速)64ビット以上 なし stdint.h(C99), cstdint(C++11)
int_least64_t (最小)64ビット以上 あり stdint.h(C99), cstdint(C++11)
uint_least64_t (最小)64ビット以上 なし stdint.h(C99), cstdint(C++11)
long long 64ビット以上 あり ll, LL C99, C++11
signed long long 64ビット以上 あり ll, LL C99, C++11
signed long long int 64ビット以上 あり ll, LL C99, C++11
long long int 64ビット以上 あり ll, LL C99, C++11
unsigned long long 64ビット以上 なし ull, ULL,Ull, uLL C99, C++11
unsigned long long int 64ビット以上 なし ull, ULL,Ull, uLL C99, C++11
intmax_t [最大の整数型]64ビット以上 あり stdint.h(C99), cstdint(C++11)
uintmax_t [最大の整数型]64ビット以上 なし stdint.h(C99), cstdint(C++11)

不備があったり改善点がある場合はコメントお願いします。

補足

※1……[オブジェクトのバイト数を表現できる程度に十分に大きいサイズ]
※2……[2 つのポインタの減算の結果を示す型]
※3……[拡張文字集合の要素に対するすべての値、および、拡張文字集合の要素に対応しない少なくとも一つの値(WEOF)を保持できる型]
※4……[一つの不可分な実体としてアクセスできるオブジェクトの型]
※5……[0または1を格納するのに充分な大きさ]
※6……[処理系がサポートするロケールの中で最も大きな拡張文字集合のすべての要素に対して、区別可能なコードを表現できる値の範囲をもつ型].
(高速)……[通常最も高速に処理される型].
(最小)……[最も小さい型]

参考

>> ISO/IEC 9899:1999
>> 【cstdint】C++11で追加された サイズ厳密な整数型
>> cstdint
>> 基本型
>> C言語/記法
>> char の符号
>> C++言語でのint型とlong型とlong long型の違いについて
>> 【C言語講座】標準ライブラリ
>> intやcharの大きさについて
>> _Bool

24
20
10

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
24
20