想像一下…
現在是晚上 10 點 59 分,再過一分鐘是幾點?你脫口而出「11 點」,完全不用思考。但仔細想想,這件事其實很妙:59 加 1 之後,你沒有把它寫成 60,而是讓分鐘歸零、往「小時」進了一位——因為一小時恰好是 60 分鐘,數分鐘是「滿 60 就進位」的。
文具店的鉛筆一打是 12 支。老闆數庫存記「3 打又 5 支」,你馬上知道是 3 \times 12 + 5 = 41 支——這是「滿 12 進一位」的數法。而平常寫下的 41,意思其實是「4 個十加 1 個一」——「滿 10 進一位」。為什麼偏偏是 10?最流行的說法很樸素:因為人類有 10 根手指。
所以你早就會用好幾套進位規則數數了:60 進位的時鐘、12 進位的一打、10 進位的阿拉伯數字,差別只在「數到多少進位」。電腦也一樣——它的世界裡,一個開關只有「開」和「關」兩種狀態,所以它選了「滿 2 就進位」。本單元的前半部,就來搞懂各種進制之間怎麼互相轉換,讓你能跟電腦的母語打交道。
後半部處理另一個「數字的極限」問題。上冊 2.3 說過,long long 最多存到約 9.2 \times 10^{18}——19 位數,而且型態表到它就沒了。那如果題目丟來一個 100 位數的加法呢?先別慌:小學二年級的你,用直式加法就能算任意長的數字。讓程式模仿人類列直式,就是「大數運算」——本單元的壓軸。