程序里面把十进制数转换为十六进制
比如十进制6 16 160 260 uchar buff;sprintf(buff, "%4X", 260); http://hi.baidu.com/kxqnpwxrsyamuvr/item/faf3eeca76c1ee2c0831c6de
void dec_to_hex(int x)
{
char *table = "0123456789abcdef";
char array;
array = '\0';
int i = 7, num;
num = x;
if (x > 0)
{
memset(array,'0',8);
while(x)
{
array = table;
x = x / 16 ;
}
}
else
{
memset(array,'1',8);
int j;
for(j=0; j<8; j++)
{
array = table;
x >>= 4;
}
}
printf("十进制数%d <======>对应十六进制为%s\n", num, array);
} 10进制的数字转换为16进制的数字?
10进制的数字转换为16进制的数字的字符串?
10进制的数字的字符串转换为16进制的数字?
10进制的数字的字符串转换为16进制的数字的字符串?
十进制数转换为十六进制???{:shocked:} 我晕 我没说明白
没那么复杂
比如十进制数 a=260 转换为十六进制数就是 k=a/256a%256 看来你还是迷糊啊……
比如你说的a=260,在内存中存放的时候就是100000100了,就是0x104,还需要你转换?在单片机里10进制和16进制是没有差别的吧?你认为是260,编译器和单片机认为就是0x104 XA144F 发表于 2012-10-24 13:39 static/image/common/back.gif
看来你还是迷糊啊……
比如你说的a=260,在内存中存放的时候就是100000100了,就是0x104,还需要你转换?在 ...
我需要把取到的十进制数值用十六进制显示出来。 难道你是在做1302?? 本帖最后由 shotstar 于 2012-10-25 11:24 编辑
bootgames 发表于 2012-10-24 13:30 static/image/common/back.gif
我晕 我没说明白
没那么复杂
比如十进制数 a=260 转换为十六进制数就是 k=a/256a%256 ...
你不做出来了啊
<255
6: 6/166%16 ->0X06
16 16/16 16%16 ->0X10
>255且<65536
260 260/256 = 1260%256/16= 0 260%16=4 ->0X104
…………………… 扯淡
页:
[1]