15.4 整數轉成進制字串
反方向:手上有一個整數,要印出它的 K 進制長相。
這次從個位下手。「滿 K 進位」代表個位就是「湊不滿一個 K 的零頭」——也就是 x % K(2.6 的取餘數);而 x / K 是整數除法,恰好把個位丟掉、留下其餘所有位。用十進制想一眼就懂:3072 % 10 是個位 2,3072 / 10 是 307。所以反覆「取個位、去個位」,就能把每一位依序剝下來。拿 26 轉二進制走一遍:
| 回合 | x | 取出 x % 2 |
剩下 x / 2 |
|---|---|---|---|
| 1 | 26 | 0 | 13 |
| 2 | 13 | 1 | 6 |
| 3 | 6 | 0 | 3 |
| 4 | 3 | 1 | 1 |
| 5 | 1 | 1 | 0 |