p5. 數制轉換( 十進制轉二進制、 八進制、 十六進制)

#十進制轉其他進制

def numsys(dec,ns):
    n=dec
    x=''
    hstr='0123456789abcde'
    while ( n > (ns-1)) :
        # 要取 n % 16 的餘數,這個字元在 hex 字串的第(餘數)的位置的字元
        x=hstr[(n % ns):(n % ns)+1]+x
        n= n//ns
        if ( n < ns ) :
           x=hstr[(n % ns ):(n % ns )+1]+x
    return x


dec =18
print("十進制:",dec,":")
print("二進制=",numsys(dec,2))
print("八進制=",numsys(dec,8))
print("十六進制=",numsys(dec,16))



---(執行結果)-------------------------

十進制: 234 :
二進制= 11101010
八進制= 352
十六進制= ea

--------------------------------------


沒有留言:

張貼留言

Python程式設計技巧-發展運算思維(gg.gg/py-book )

Py- 書本檔案分享網址 : 原來:     gg.gg/py-book    < 萬一   gg.gg  連不上 > 可以連:  https://python-khcode.blogspot.com/p/python-apcs.html --------...