xqn2017

导航

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的情况
	}
};

  

posted on 2018-02-27 18:44  xqn2017  阅读(104)  评论(0编辑  收藏  举报