405. Convert a Number to Hexadecimal

原文题目:

405. Convert a Number to Hexadecimal

解题:

十进制转16进制的问题,主要考虑负数的情况复杂一些,但是可以通过位与运算进行回避

AC代码:

class Solution {
public:
	string toHex(int num) 
	{
		string hexstring ="0123456789abcdef";
		string s ="";

		while(num)
		{
			s = hexstring[num&0xf] + s; //注意s在+后面
			num = (unsigned int)num >> 4; //除以16,也就是向右移动4bit
			
		}
		return s.empty()?"0":s; //考虑num为0的情况
	}
};

  

原文地址:https://www.cnblogs.com/xqn2017/p/8480406.html