當進行數字基底轉換時,每次迭代計算得到的餘數對應於基底轉換後的一個數字或字母(對於十六進位來說)。我們可以通過對輸入數字 sourceNum 進行模 targetBase 操作來獲取這個餘數,然後使用之前定義的 base16 字符陣列來找到對應的字符(因為即使是轉換到二進位、四進位或八進位,0-F 中的前幾個字符依然是適用的)。
所以,加入餘數 0~F 的字元到 ArrayList 的程式碼如下:
result.add(base16[rr % targetBase]);
這行程式碼做了兩件事:
通過 rr % targetBase 計算出當前 rr 除以 targetBase 的餘數。
使用這個餘數作為索引從 base16 字符陣列中選取對應的字符,並將這個字符加入到 result 這個 ArrayList 中。