D. 資料型態範圍速查表
| 型態 | 位元組 | 位元數 | 範圍 | 備註 |
|---|---|---|---|---|
char |
1 | 8 | -128 到 127 |
有號整數或 ASCII 字元 |
unsigned char |
1 | 8 | 0 到 255 |
無號整數 |
short |
2 | 16 | -32,768 到 32,767 |
小型整數(少用) |
unsigned short |
2 | 16 | 0 到 65,535 |
無號小型整數 |
int |
4 | 32 | -2,147,483,648 到 2,147,483,647 |
約 ±21 億,競程常用 |
unsigned int |
4 | 32 | 0 到 4,294,967,295 |
無號整數 |
long |
4 或 8* | 32 或 64* | 依平台決定 | *不同平台差異大,建議用 long long |
long long |
8 | 64 | -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807 |
約 ±9 * 10^18,競程推薦 |
unsigned long long |
8 | 64 | 0 到 18,446,744,073,709,551,615 |
無號長整數 |
bool |
1 | 8 | false(0) 或 true(1) |
真假值 |
競程中的建議:
- 整數絕大多數用
int,若有溢位風險或題目保證 > 10^9 用long long - 無號整數 (
unsigned) 在競程中少用,易出現負數陷阱 - 若要表示「無限大」常用
const long long INF = 1e18;