H. 常見算術轉型速查表
運算式在計算前,C++ 會先決定「用什麼型態去算」。這件事會影響整數除法、整數溢位,以及最後答案的型態。
| 運算式 | 計算時使用的主要型態 | 結果重點 |
|---|---|---|
int / int |
int |
整數除法,小數部分直接捨去 |
int % int |
int |
取餘數,只能用整數型態 |
int + long long |
long long |
int 會先轉成 long long 再算 |
long long * int |
long long |
乘法用 long long 算 |
¶H-1. 最常見陷阱:左邊型態不會救右邊運算
long long x = 100000 * 100000; // 右邊先用 int 相乘,已經溢位
long long y = 100000LL * 100000; // 有一邊是 long long,乘法用 long long
重點:= 左邊的 long long 只決定最後要把結果存到哪裡,不會讓右邊的 100000 * 100000 自動改用 long long 計算。