0

最近、C を使用する必要が生じたばかりです (通常は Python と Java を少し使用しています)。いくつかの問題に直面しています。

基数 10 の unsigned int を、同等の 16 進数を表す文字配列に変換する関数を作成しました。ここで、タイプ uint32_t の変数をこの「hex」に設定できるようにする必要があります。このchar[]が実際の16進値として扱われるようにするにはどうすればよいですか?

コードは以下のとおりです。

int DecToHex(long int conversion, char * regParams[])
{    
    int hold[8];

    for (int index = 0; conversion > 0; index++)
    {
        hold[index] = conversion % 16;
        conversion = conversion / 16;
    }

    int j = 0;

    for (int i = 7; i > -1; i--)
    {
        if (hold[i] < 10 && hold[i] >= 0)
        {
            regParams[j] = '0' + hold[i];
        }
        else if (hold[i] > 9 && hold[i] < 16)
        {
            regParams[j] = '7' + hold[i];
        }
        else
        {
            j--;
        }
        j++;
    }
    return 0;
}
4

1 に答える 1