將整數轉換為任意基數的字串
在Python 中,可以使用int(str, base) 函數輕鬆地將整數從字串轉換為字串。然而,從整數創建字串的逆操作可能更具挑戰性。
任意基數的自訂解決方案
以下程式碼定義了一個自訂解決方案,numberToBase,可以將任何整數n 轉換為任何基數b 的字串:
def numberToBase(n, b): if n == 0: return [0] digits = [] while n: digits.append(int(n % b)) n //= b return digits[::-1]
函數的工作原理是重複除以基斯灣它重複計算n 除以 b的餘數並將其加到數字列表中。過程一直持續到 n 變為零。然後將數字反轉以獲得以 b 為基數的正確表示。
用法範例
要將大數轉換為以 577 為基數:
print(numberToBase(67854 ** 15 - 102, 577))
輸出:
[4, 473, 131, 96, 431, 285, 524, 486, 28, 23, 16, 82, 292, 538, 149, 25, 41, 483, 100, 517, 131, 28, 0, 435, 197, 264, 455]
這個結果可以轉換為任何其他基礎
相對於內建函數的優點
與bin、oct 和hex 等內建函數不同,numberToBase 函數有以下幾個優點:
以上是如何在 Python 中將整數轉換為任意基數的字串?的詳細內容。更多資訊請關注PHP中文網其他相關文章!