问题: 给定一个整数,写一个算法将它转换为16进制,对于负数,可以使用two’s complement方法
def tohex(num): """十进制数转十六进制数""" di = {10: 'a', 11: 'b', 12: 'c', 13: 'd', 14: 'e', 15: 'f'} hexStr = "" if num < 0: # 输入负数 num = num + 2**32 while num >= 16: rest = num % 16 # 取余数 hexStr = di.get(rest, str(rest)) + hexStr num //= 16 hexStr = di.get(num, str(num)) + hexStr return hexStr