整型数转换为十六进制数有关问题?

整型数转换为十六进制数问题??
有个整型数10,想把这个10转换为16进制后也为10,即0x10,
11转换为0x11,

我现在一转换就将整数10转换成0x0a了。


我是这样转换的,但不对
tmp3[8]=10%0x100;

该怎么样转换呢??

------解决方案--------------------
int i=10,h=0,b=0;
while(i){
h+=(i%10) < <b;
i/=10;
b+=4;
}

ok...
------解决方案--------------------
将十进制的最后一位取出,然后转换为16进制的相应值,然后加到前一步的值上面

b记录着当前最后一位对应的权重,
i不断的取最后一位,同时不断的将取走的数通过i/=10语句去掉


------解决方案--------------------
你题目上面没有说要转换为字符串吧,改为下面的:

int i=10, b=0;
char str[255];

str[254] = '\0 ';
while(i){
str[253 - b] = (i % 10) + '0 ';
// h+=(i%10) < <b;
i/=10;
b+=;
// b+=4;
}

------解决方案--------------------
int i=10, b=0;
char str[255];
char finalStr[255];

str[254] = '\0 ';
while(i){
str[253 - b] = (i % 10) + '0 ';
// h+=(i%10) < <b;
i/=10;
b++;
// b+=4;
}

strcpy(finalStr, &str[254 - 2]);

最后finalStr中即是最后的字符串结果


------解决方案--------------------
int i=10,h=0,b=0;
while(i){
h+=(i%10) < <b;
i/=10;
b+=4;
}

ok...

晕,h是int,转成char不就可以了吗?
------解决方案--------------------
有个整型数10,想把这个10转换为16进制后也为10,即0x10:

#include <stdio.h>
#include <stdlib.h>


int main()
{
int i=10, x=0;
char tmp[10]={0};

itoa(i, tmp, 10); //转换为字符串, 10进制
x = strtol(tmp, NULL, 16); //再转化为整数, 16进制, 注意参数 ~
printf( "i=%d ==> x=0x%x.\n ", i, x);
system( "PAUSE ");
return 0;
}
------解决方案--------------------
那就还用yingge的做法:
int i=10,h=0,b=0;
while(i){
h+=(i%10) < <b;
i/=10;
b+=4;
}

然后
char ch = (char)h & 0xff;