我从我发现的伪代码中写了这个函数,它应该将十进制输入转换为十六进制数。好吧,它确实如此,但是顺序不正确,例如,对于十进制数字195,我得到3C,输入C3。
int temp=0;
int i=0;
while(decimal!=0)
{
temp = decimal % 16;
if( temp < 10)
temp =temp + 48;
else
temp = temp + 55;
array[i++]= temp;
decimal = decimal / 16;
}
答案 0 :(得分:2)
像这样节省一些时间
#include <stdio.h>
// ...
sprintf(hexStr,"%X",decimal); // or, "%#X" if you want prefix
除非,这是编程课的作业。在这种情况下,你应该真的只是在白板或纸上工作,我确定你会看到你的错误。