十进制到十六进制转换不正确 - C.

时间:2017-03-01 18:50:42

标签: c hex

我从我发现的伪代码中写了这个函数,它应该将十进制输入转换为十六进制数。好吧,它确实如此,但是顺序不正确,例如,对于十进制数字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;
}

1 个答案:

答案 0 :(得分:2)

像这样节省一些时间

#include <stdio.h>
// ...
sprintf(hexStr,"%X",decimal);   // or, "%#X" if you want prefix

除非,这是编程课的作业。在这种情况下,你应该真的只是在白板或纸上工作,我确定你会看到你的错误。