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

来源:互联网 发布:java怎么调试错误 编辑:程序博客网 时间:2024/05/02 05:59

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++直接取值转换即可

代码如下:

#include <iostream>#include <vector>#include <map>#include <set>#include <queue>#include <stack>#include <string>#include <climits>#include <algorithm>#include <sstream>#include <bitset>using namespace std;class Solution {public:    string toHex(int num)     {        if (num == 0)             return "0";        const string HEX = "0123456789abcdef";        string result;        int count = 0;        while (num!=0 && count < 8)         {            result = HEX[(num & 0xf)] + result;            num >>= 4;            count++;        }        return result;    }};
阅读全文
0 0
原创粉丝点击