数字转换为十六进制数(简单)
2020年6月30日
题目来源:力扣
解题
二进制是每4位为一个十六进制的一位,每次与15为了拿出后四位的数字,再对照字符数组填值,这里无线程安全问题,采用了StringBuilder,最后再用reverse方法反转。
值得一提的是>>、<<、>>>分别是右移,左移,无符号右移。
class Solution {
public String toHex(int num) {
if(num==0) return "0";
StringBuilder sb = new StringBuilder();
char[] arr ="0123456789abcdef".toCharArray();
while (num!=0){
int tmp=num&15;
sb.append(arr[tmp]);
num=num>>>4;
}
return sb.reverse().toString();
}
}