#一覧表
型名 | サイズ | 符号 | 接尾辞 | 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