利用python實現整數轉換為任意進制字符串


假設你想將一個整數轉換為一個二進制和十六進制字符串。例如,將整數 10 轉換為十進制字符串表示為 10 ,或將其字符串表示為二進制 1010 。

實現 以 2 到 16 之間的任何基數為參數:

def toStr(num,base):
    convertString = "0123456789ABCDEF"#最大轉換為16進制
    if num < base:
        return convertString[num]
    else:
        return toStr(num//base,base)  + convertString[num%base]

print(toStr(1453,16))#5AD

 讓我們再次跟蹤算法; 這次我們將數字 10 轉換為其基數為 2 的字符串(“1010”):

上圖顯示我們得到的結果,但看起來數字是錯誤的順序。該算法是正確的,因為我們首先在第 6 行進行遞歸調用,然后我們添加余數的字符串形式。 如果我們反向返回convertString查找並返回 toStr 調用,則生成的字符串將是反向的!通過延后連接操作直到遞歸調用返回,我們可以得到正確順序的結果。

 

 

 




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM