首頁 > 後端開發 > Python教學 > 如何將整數轉換為任意基數的字串?

如何將整數轉換為任意基數的字串?

DDD
發布: 2024-12-13 18:25:10
原創
700 人瀏覽過

How can integers be converted into strings in arbitrary bases?

Conversion of Integers to Strings in Arbitrary Bases

本題尋求一種將整數轉換為任意基數字串的方法。與 Python 的 int(str, base) 函數不同,該函數允許從指定基數的字串建立整數,所需的方法是其逆過程,即從整數建構字串。

一個簡單的解決方案

直觀上,人們傾向於關注轉換為小基數(例如,小於英文字母的長度)。然而,這個問題需要一個通用的解決方案,適用於從 2 到無限大的任何基數。

下面給出一個簡單的解:

def numberToBase(n, b):
    if n == 0:
        return [0]
    digits = []
    while n:
        digits.append(int(n % b))
        n //= b
    return digits[::-1]
登入後複製

這個函數接受一個整數 n 和一個基數 b 作為輸入並傳回以 b 為基數表示 n 的數字列表。它的工作原理是迭代地將 n 除以 b 並將餘數(即數字)收集到列表中。然後反轉列表以獲得正確的數字順序。

例如,將 67854**15 - 102 轉換為基數 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]
登入後複製

這個結果可以進一步轉換成任何其他想要的

關鍵點

  • 解決方案的簡單性在於實現特定基數中的數字可以由數字列表表示,其中每個數字代表底數的冪。
  • 函數傳回一個數字列表以容納任何底數,甚至是大於 36 的數字(字母順序) Python 中的基數)。
  • 理解不同基數的數字概念對於掌握此方法的工作原理至關重要。

以上是如何將整數轉換為任意基數的字串?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板