最近、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;
}