leetcode 405. Convert a Number to Hexadecimal 十进制转化十六进制

超、凢脫俗 2022-06-04 07:42 234阅读 0赞

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 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:

Input:
26

Output:
“1a”
Example 2:

Input:
-1

Output:
“ffffffff”

这道题题意十分简单,就是做一个十六进制的转换,对于C++直接取值转换即可

代码如下:

  1. #include <iostream>
  2. #include <vector>
  3. #include <map>
  4. #include <set>
  5. #include <queue>
  6. #include <stack>
  7. #include <string>
  8. #include <climits>
  9. #include <algorithm>
  10. #include <sstream>
  11. #include <bitset>
  12. using namespace std;
  13. class Solution
  14. {
  15. public:
  16. string toHex(int num)
  17. {
  18. if (num == 0)
  19. return "0";
  20. const string HEX = "0123456789abcdef";
  21. string result;
  22. int count = 0;
  23. while (num!=0 && count < 8)
  24. {
  25. result = HEX[(num & 0xf)] + result;
  26. num >>= 4;
  27. count++;
  28. }
  29. return result;
  30. }
  31. };

发表评论

表情:
评论列表 (有 0 条评论,234人围观)

还没有评论,来说两句吧...

相关阅读