題目:
給定一個整數,編寫一個算法將這個數轉換爲十六進制數。對於負整數,我們通常使用 補碼運算 方法。
注意:
- 十六進制中所有字母(
a-f
)都必須是小寫。 - 十六進制字符串中不能包含多餘的前導零。如果要轉化的數爲0,那麼以單個字符
'0'
來表示;對於其他情況,十六進制字符串中的第一個字符將不會是0字符。 - 給定的數確保在32位有符號整數範圍內。
- 不能使用任何由庫提供的將數字直接轉換或格式化爲十六進制的方法。
示例 1:
輸入: 26 輸出: "1a"
示例 2:
輸入: -1 輸出: "ffffffff"
python代碼:
class Solution(object):
def toHex(self, num):
if num<0:num = 2**32+num
num_dict = ['0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f']
res = ''
while num > 15:
res += num_dict[num%16]
num = num // 16
res += num_dict[num]
return res[::-1]