C++ 类型与运算

整型、浮点、字符、运算符与类型转换

基本类型

类型 约范围 说明
int $\pm 2\times 10^9$ 默认整数
long long $\pm 9\times 10^{18}$ 乘法、前缀和常用
unsigned $0 \sim 4\times 10^9$ 仅非负时可用
double 约 15 位有效数字 几何、实数题
char 单字符 也可当小整数
bool true/false

变量与常量

int n = 10;
const int MAXN = 1e5 + 10;
long long ans = 0;

算术运算

int a = 7, b = 3;
a / b;   // 整除得 2
a % b;   // 余数 1

取模(a + b) % MOD 建议写成 (a % MOD + b % MOD) % MOD,防溢出。

自增与复合赋值

++ii++(循环中通常无差别);+=-=*=

类型转换

double x = 1.0 * a / b;  // 实数除法
int k = (int)3.14;       // 截断

比较

== != < > <= >=,结果是 bool

位运算(常用)

运算 含义
x & 1 奇偶
x >> 1 除以 2
x << k 乘 $2^k$
x & (-x) 取最低位 1(lowbit)
x & (x-1) 去掉最低位 1

状压 DP、子集枚举会大量用到。