本文内容参考了

链接http://zh.cppreference.com/w/cpp/language/types
书籍:<c++ primer 5th>

类型 描述 最小长度 ILP32-444 (WIN32,linux32) LP64-488 (linux64) LLP64-448 (win64)
bool bool类型 未定义 8位 8位 8位
char 字符 8位 8位 8位 8位
wchar_t 宽字符 16位 16/32位 32位 16位
char16_t 宽字符 16位 16位 16位 16位
char32_t 宽字符 32位 32位 32位 32位
short 短整型 16位 16位 16位 16位
int 整型 16位 32位 32位 32位
long 长整型 32位 32位 64位 32位
long long 长整型 64位 64位 64位 64位
float 单精度浮点数 6位有效数字 32位 32位 32位
double 双精度浮点数 10位有效数字 64位 64位 64位
long double 扩展精度浮点数 10位有效数字 64位 64位 64位
指针 指针 16 32位 64位 64位

同时,除了满足以上的最小长度意外,还需满足
1 == sizeof(char) <= sizeof(short) <= sizeof(int) <= sizeof(long) <= sizeof(long long)

注意事项

  1. 慎用char类型进行算数运算。 char是否带符号由编译器决定, 如果确实需要,需明确指定signed char 或者 unsigned char.