
uint16 b;
怎么把它转成
b 等于 0x00a2328e 即 b=0xa2328e
我不是要显示出来,我是要把这个16进制的数值付给b,我要来用的,不是来显示的
我下面程序的n就是转出来的值,你可以截取其中转换部分的代码
#include
main()
{
char a[]={'0','0','肆历a','2','3'裂巧搜,'2','8','e'};
int n=0,i;
for(i=0;i
if(a[i]>='0'&&a[i]<='9')
{
n=n*16+a[i]-'0';
}
else if(a[i]>='A'宽模&&a[i]<='F')
{
n=n*16+a[i]-'A'+10;
}
else if(a[i]>='a'&&a[i]<='f')
{
n=n*16+a[i]-'a'+10;
}
}
printf("0x%x",n);
}
//终于写出来了。vc++6.0编译通过。喊弊
//看看是不是你要的效果~
#include
#include
main()
{
char a[]={'0','0'宏陵,'a','2','3','2','8','e'};
long b;
int i,temp;
b=0;
for(i=0;i<8;i++){
if((temp=a[i]-'0')>9)
if((temp-='A'-'0'蔽渗戚-10)>15)
temp-='a'-'A';
printf("%d",temp);
b+=(long)temp*pow(16,(double)(7-i));
}
printf("%ld",b);
}
#include
main()
{
char a[]={'0','0','a','2','前稿3','慧搭孝2'枝橘,'8','e'};
printf("%0x\n",strtol(a,NULL,16));
}
用位操作