Given an integer, write an algorithm to convert it to hexadecimal. For negative integer, two’s complement method is used.
Note:
- All letters in hexadecimal (
a-f
) must be in lowercase. - The hexadecimal string must not contain extra leading
0
s. 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:
Input:
26
Output:
"1a"
Example 2:
Input: -1 Output: "ffffffff"
十进制转十六进制
C++(6ms):
1 class Solution { 2 public: 3 const string HEX = "0123456789abcdef" ; 4 string toHex(int num) { 5 if (num == 0) 6 return "0" ; 7 string res = "" ; 8 int count = 0 ; 9 while(num && count++ < 8){ 10 res = HEX[num & 0xf] + res ; 11 num >>= 4 ; 12 } 13 return res ; 14 } 15 };