Leetcode 405: Convert a Number to Hexadecimal
2017-01-08 22:11
381 查看
这题比较简单,不过要注意num为0的情况。
还有更高效的做法:这里要注意的一点就是对于有符号的数字的右移是算数右移,所以这里加入了一个计数器来计算负数的情况。
class Solution { public: string toHex(int num) { string result; unsigned int tmp_num = num; if(!num) return "0"; while(tmp_num) { char str[10]; int residual = tmp_num % 16; tmp_num = tmp_num >> 4; // cout << num << endl; if(residual < 10) { char tmp = residual + '0'; result = tmp + result; } else { char tmp = residual - 10 + 'a'; result = tmp + result; } } return result; } };
还有更高效的做法:这里要注意的一点就是对于有符号的数字的右移是算数右移,所以这里加入了一个计数器来计算负数的情况。
class Solution { public: string toHex(int num) { string result; if(!num) return "0"; int count = 0; while(num && count < 8) { char str[10]; int residual = num & 15; num = num >> 4; if(residual < 10) { char tmp = residual + '0'; result = tmp + result; } else { char tmp = residual - 10 + 'a'; result = tmp + result; } count++; } return result; } };
相关文章推荐
- LeetCode 405 Convert a Number to Hexadecimal
- LeetCode 405 Convert a Number to Hexadecimal
- Leetcode Convert a Number to Hexadecimal 405
- LeetCode[405] Convert a Number to Hexadecimal
- LeetCode405 Convert a Number to Hexadecimal
- LeetCode405 Convert a Number to Hexadecimal
- 【LeetCode】405 Convert a Number to Hexadecimal (java实现)
- 【LeetCode】405 Convert a Number to Hexadecimal (java实现)
- Leetcode 405 Convert a Number to Hexadecimal
- Leetcode: Convert a Number to Hexadecimal
- LeetCode Convert a Number to Hexadecimal
- [LeetCode] Convert a Number to Hexadecimal 数字转为十六进制
- LeetCode -- Convert a Number to Hexadecimal
- [Leetcode] Convert a Number to Hexadecimal
- 【LeetCode】Convert a Number to Hexadecimal 解题报告
- leetcode[Convert a Number to Hexadecimal]//待整理多种解法
- leetcode-456-Convert a Number to Hexadecimal
- [LeetCode]Convert a Number to Hexadecimal(Java)
- convert-a-number-to-hexadecimal
- Convert a Number to Hexadecimal