5 / 3 // 結果 1 (非 1.666...)
2 / 3 // 結果 0 (非 0.666...)
整數除法運算符 `/` 的結果是**代數商向零截斷**后的整數部分 (truncation toward zero)。即丟棄小數部分,保留整數部分。
| 語言 | 整數除法行為 | 備註 |
|---|---|---|
| C / C++ / Java / C# / Go / Rust | 向零截斷 | 主流靜態類型語言一致 |
| Python 3 // | 向下取整 (Floor) | `-5 // 3 == -2`,`/` 為浮點除法 |
| Python 2 / | 向下取整 | 歷史包袱,Py3 修正 |
| JavaScript / | 浮點除法 | 無整數類型,`Math.trunc(5/3)` 獲取整數部分 |
| Pascal / Ada | 向零截斷 (div) / 向下取整 (mod 不同) | 區分 div/mod 運算符 |
double result = 5.0 / 3; // 至少一個操作數為浮點
double result = (double)5 / 3; // 強制轉換
整數除法向零截斷是 C 語言貼近硬件、追求效率的體現,理解並善用此特性是寫出高性能數值代碼的基礎。