我最近刚被要求使用 C——我通常使用 Python 和一点 Java——我遇到了一些问题。
我创建了一个函数,它将 base-10 unsigned int 转换为表示等效十六进制的字符数组。现在我需要能够将类型为 uint32_t 的变量设置为此“十六进制”;我能做些什么来确保这个 char[] 被视为实际的十六进制值?
代码如下:
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;
}