前回、整数を2進数に変えるプログラムを作成しました。その時の反省点も踏まえつつ、今回は整数を16進数に変えるプログラムを作ってみました。
def cal_hexa(num):
nums = ['0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F']
hexa = ""
while num:
remainder = num % 16
hexa = nums[remainder] + hexa
num //= 16
return hexa
num = int(input("整数を入力してください:"))
result = cal_hexa(num)
print(result)
#Python標準機能の場合
print(hex(num))
出力結果は以下のようになります。
整数を入力してください:7770
1E5A
0x1e5a (Python標準機能の場合)
前回は、余りをString型に変えて、配列に入れて、「reverse」で逆順にして、「join」でさらに結合させるという回りくどいやり方をしてしまったので、その辺を修正しました。
その際に、さまざまなご意見をいただきましたが、自分の中でまだ理解しきれていないやり方は使っていません。これから理解を深めていきます。