python 整数转16进制数

 

def toHex(num):
        """
        :type num: int
        :rtype: str
        """
        chaDic = {10: 'a', 11: 'b', 12: 'c', 13: 'd', 14: 'e', 15: 'f'}
        hexStr = ""
        
        if num < 0:
            num = num + 2**32
        
        while num >= 16:
            digit = num % 16
            hexStr = chaDic.get(digit, str(digit)) + hexStr
            num //= 16
        hexStr = chaDic.get(num, str(num)) + hexStr
            
        return hexStr

print("转换前")
print(12345)
a=toHex(12345)
print("转换后")
print(a)
print("还原")
print(int(a,16))

输出

bogon:Desktop macname$ python3 test.py 
转换前
12345
转换后
3039
还原
12345

 

 

参考:
https://blog.csdn.net/qiubingcsdn/article/details/83079235

 

posted @ 2019-09-09 10:22  anobscureretreat  阅读(6374)  评论(0编辑  收藏  举报