260python
69bash
Favoriteide
Share Given an integer, write an algorithm to convert it to hexadecimal. For negative integer, two’s complement method is used.ui
Note:spa
All letters in hexadecimal (a-f) must be in lowercase. The hexadecimal string must not contain extra leading 0s. If the number is zero, it is represented by a single zero character '0'; otherwise, the first character in the hexadecimal string will not be the zero character. The given number is guaranteed to fit within the range of a 32-bit signed integer. You must not use any method provided by the library which converts/formats the number to hex directly. Example 1:code
Input: 26orm
Output: "1a" Example 2:ci
Input: -1string
Output: "ffffffff"it
思路:位運算,16進制,把num與0b1111與運算,獲取字典表下標(‘0123456789abcdef’),組合
代碼:python3
class Solution:
def toHex(self, num: int) -> str:
if num==0:return '0'
np='0123456789abcdef'
result=''
while num:
s=num&0xf
result = np[s]+result
num = num>>4 if num>0 else(num%0x100000000)>>4
return result
複製代碼