【数学】【PYTHON】10進数を16進数に変換する

こちらも同じようにhex(26)を実行すれば’0x1a’を出力されますが、

これをPythonのコードで書きます。

import sys

args = sys.argv

def dec2hex(target):
    division = target
    hex = []

    while division != 0:
        remainder_of = division % 16
        division = division // 16
        if remainder_of >= 10:
            hex.append(chr(55 + remainder_of))
        else:
            hex.append(remainder_of)

    hex.reverse()
    return hex

print(dec2hex(int(args[1])))
taki@DESKTOP-4VF3GEO:~/python$ python dec2hex.py 26
[1, 'A']

こちらもサンプルでは[A-F]を愚直にif文で書いていますが、

AはASCIIコードで65(0x41)なので、55に余りを足してchrで変換することで[A-F]に変換しています。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください