首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

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

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

整型数转换为十六进制数问题??
有个整型数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;

热点排行