16進数に変換


整数を指定し、アルゴリズムを記述してこの数を16進数に変換します.負の整数については,通常,符号化演算法を用いる.
注意:
16進数のすべてのアルファベット(a-f)は小文字でなければなりません.16進数文字列に余分な先頭ゼロを含めることはできません.変換する数が0の場合、単一の文字'0'で表されます.その他の場合、16進数文字列の最初の文字は0文字ではありません.与えられた数は32ビットの符号付き整数の範囲内であることを保証する.ライブラリから提供される数値を直接16進数に変換またはフォーマットする方法は使用できません.例1:
入力:26
出力:「1 a」の例2:
入力:-1
出力:ffffffff
問題解決の考え方:
15&操作するたびに5シンボル右に4シフトすればいい
class Solution {
    public String toHex(int num) {
    char [] cha="0123456789abcdef".toCharArray();
    StringBuffer buffer=new StringBuffer();
    if(num==0){
        return "0";
    }
    while(num!=0){

        int tem=num&15;
        buffer.append(cha[tem]);
        num=num>>>4;
    }


    return buffer.reverse().toString();

    }
}