整型
占用 bits
- char $\leq$ short $\leq$ int $\leq$ long $\leq$ long long
- char 占用1字节,unsigned最大值255
- short 至少占用16 bit,unsigned最大值65535,6万多
- long 至少占用32 bit,unsigned最大值4294967295,40多亿
相关库
用\1
2
3
4
int max = INT_MAX;
int min = INT_MIN;
signed 与 unsigned
整型默认signed,只有char由实现定义
其它
- int 被编译器认为是“最自然”的整型。在运算时,比 int “低级”的类型会转换成int类型处理
- % 运算符,对于负整数的处理,可视为:a % b = a - (a/b) * b
浮点数
占用 bits
- 浮点数的指数部分至少从-37取到37,也就是取值范围(正数)至少是E-37 ~ E+37
- float $\leq$ double $\leq$ long double
- float 至少占用32 bit
- double 至少占用48 bit
存储结构
分为2部分,一是指数部分 $e$,二是尾数部分 $r$,所表示的值为 $r \times 10^e$,这就像把 $r$ 作为整数的小数点移动 $e$ 位一样,所以称为浮点数。
相关库
\1
2
3
4
float max = FLT_MAX; // double: DBL_MAX, long dboule: LDBL_MAX
float min = FLT_MIN; // double: DBL_MIN, long dboule: LDBL_MIN
其它
常量小数默认为 double,如需float加f或F,需long double加L
参考
- 《C++ primer plus》 6th Edition by Stephen Prata.
- cppreference.com: Fundamental types