
class Solution {public:string toHex(int num) {if(num == 0) return "0";string str = "0123456789abcdef";unsigned num2 = num;string ans = "";while(num2){ans = str[num2 & 15] + ans;num2 >>=4;}return ans;}};
核心思想转换成unsigned之后进行移位操作,可以使得移位补项0,所以可以使用num2是否为0作为循环条件;
同时这个想法可以用在判断1的个数上,二进制是/2—(>>1),十进制是/10
