>405. 数字转换为十六进制数<
>toHex<
一、解题思路
1、解法一( Java )
解法思路:位运算 + 分组换算
将 num
与 15 = ( 二进制 1111 )
进行 &
运算(& 位运算符 - 如果相对应位都是1,则结果为1,否则为0),然后对 num
进行无符号右移 4
位来实现每 4
位处理。
代码如下:
/**
* @author listen1024
* @date 2022-1-17
* 【★】405. 数字转换为十六进制数 toHex
*/
class Solution {
public String toHex(int num) {
if (num == 0)
return "0";
StringBuilder sb = new StringBuilder();
while (num != 0) {
int value = num & 15;
if (value < 10)
sb.append(value);
else
sb.append((char) (value - 10 + 'a'));
num >>>= 4;
}
return sb.reverse().toString();
}
}
运行结果截图如下: