LeetCode405 Convert a Number to Hexadecimal
想到了一种新的方法,比以前的方法的效率要稍微好一些
public class solution {
public String toHex(int num) {
StringBuffer sb = new StringBuffer();
//使用逻辑右移的方式进行处理
char[] arr = {'0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f'};
if(num == 0) return "0";
else if(num > 0) {
while(num > 0) {
sb.append(arr[num & 15]);
num = num >>> 4;
}
return sb.reverse().toString();
}
else if(num < 0) {
num = -num - 1;
while(num > 0) {
sb.append(arr[15 - num & 15]);
num = num >>> 4;
}
while(sb.length() < 8) {
sb.append("f");
}
return sb.reverse().toString();
}
return null;
}
}