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

#一覧表

|型名|サイズ|符号|接尾辞|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](http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1124.pdf)
[>> 【cstdint】C++11で追加された サイズ厳密な整数型](https://qiita.com/YukiMiyatake/items/361259344def99a439d5)
[>> cstdint](https://cpprefjp.github.io/reference/cstdint.html)
[>> 基本型](https://ja.cppreference.com/w/cpp/language/types)
[>> C言語/記法](https://ja.wikibooks.org/wiki/C%E8%A8%80%E8%AA%9E/%E8%A8%98%E6%B3%95)
[>> char の符号](https://qiita.com/SaitoAtsushi/items/555b3851017b120c85b7)
[>> C++言語でのint型とlong型とlong long型の違いについて
](https://ja.stackoverflow.com/questions/45529/c%E8%A8%80%E8%AA%9E%E3%81%A7%E3%81%AEint%E5%9E%8B%E3%81%A8long%E5%9E%8B%E3%81%A8long-long%E5%9E%8B%E3%81%AE%E9%81%95%E3%81%84%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6)[>> 【Ｃ言語講座】標準ライブラリ](http://www.bohyoh.com/CandCPP/C/Library/index.html)
[>> intやcharの大きさについて](https://dixq.net/forum/viewtopic.php?t=11086)
[>> _Bool](https://www.wdic.org/w/TECH/_Bool)