15.8 大數加減法
第一個直式運算:加法。先看人類怎麼算 12345 + 678:
1 1 1 <- 滿十進上來的 1
1 2 3 4 5
+ 6 7 8
-----------
1 3 0 2 3個位對齊,從右往左:5+8=13 寫 3 進 1;4+7+1=12 寫 2 進 1;3+6+1=10 寫 0 進 1;2+1=3;最前面的 1 照抄。翻成程式是四個步驟:
- 讀入並反向:兩個數字字串各自轉成 15.7 的反向陣列
A、B——個位對齊自動完成。 - 逐位相加:
C[i]收下A[i] + B[i](短的那個數沒有這一位就當 0——程式裡用兩個迴圈各自把自己的位加進去,最省事)。