永发信息网

把一个字符串转成16进制的数,比如“014A”--- “0x014A”?

答案:2  悬赏:70  手机版
解决时间 2021-01-14 16:50
  • 提问者网友:心牵心
  • 2021-01-14 03:18
把一个字符串转成16进制的数,比如“014A”--- “0x014A”?
最佳答案
  • 五星知识达人网友:轻雾山林
  • 2021-01-14 04:43
我花了蛮长时间写的哦,可能方法有点苯.....
// aa.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include "stdio.h"
#include
#include "iostream"
int pingfang(int c)
{
if(c==0)return 1;
int d,m;
d=c;
m=16;
while(1)
{
if(d==1)break;
m=m*16;
d--;
}
return m;
}

void main()
{
int d,r=0,f=0;int v=0;
char b[]="014A";
d=strlen(b);
d--;
while(1)
{

switch(b[r])
{
case 'A':
f+=(10*pingfang(d));
break;
case 'B':
f+=(11*pingfang(d));
break;
case 'C':
f+=(12*pingfang(d));
break;
case 'D':
f+=(13*pingfang(d));
break;
case 'E':
f+=(14*pingfang(d));
break;
case 'F':
f+=(15*pingfang(d));
break;
default :
v=b[r]-48;
f+=(v*pingfang(d));
break;
}
d--;
r++;
if(d==-1)break;
}
printf("c=0x%x\n",f);
system("pause");
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯