C++ 基础学习笔记
一、基本类型与范围
理解数据类型的存储范围和精度是编写健壮代码的第一步。下表总结了常见内置类型的字节数及取值范围。
| 类型 | 字节数 | 位宽 | 十进制范围(大约) | 具体值范围 |
|---|---|---|---|---|
| char | 1 | 8 位 | -128 ~ 127 | -2⁷ ~ 2⁷-1 |
| short | 2 | 16 位 | -32,768 ~ 32,767 | -2¹⁵ ~ 2¹⁵-1 |
| int | 4 | 32 位 | -21 亿 ~ 21 亿 | -2,147,483,648 ~ 2,147,483,647 |
| long | 4/8 | 32/64 位 | 同 int 或 long long | 系统相关 |
| long long | 8 | 64 位 | -922 亿亿 ~ 922 亿亿 | -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 |
无符号类型同样重要,它们能扩展正数范围:
| 类型 | 字节数 | 十进制范围(大约) | 具体值范围 |
|---|---|---|---|
| unsigned char | 1 | 0 ~ 255 | 0 ~ 2⁸-1 |
| unsigned short | 2 | 0 ~ 65,535 | 0 ~ 2¹⁶-1 |
| unsigned int | 4 | 0 ~ 42.9 亿 | 0 ~ 2³²-1 |
| unsigned long long | 8 | 0 ~ 1844 亿亿 | 0 ~ 2⁶⁴-1 |
浮点型方面,注意 float 的表示范围虽然比 long long 大得多,但精度有限:
| 类型 | 字节数 | 十进制范围(大约) | 有效数字(十进制) | 精度说明 |
|---|---|---|---|---|
| float | 4 | ±3.4×10³⁸ | 6~7 位 | 单精度浮点 |
| double | 8 | ±1.8×10³⁰⁸ | 15~16 位 | 双精度浮点 |
| long double | 8/16 | 范围更大 |


