數字轉換爲十六進制數(簡單)
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();
}
}