十进制转十六进制 16进制计算器
代码一:
include
include
include
void convert(char a[]) //十六进制 转 十进制
{
int i,t;
long sum=0;
for(i=0;a[i];i++)
{
if(a[i]>=&39;0&39;&&a[i]<=&39;9&39;)
// num+=(a[i]-&39;0&39;)*pow(16,n-1-i);
t=a[i]-&39;0&39;;
else if(a[i]>=&39;A&39;&&a[i]<=&39;F&39;)
// num+=(10+(a[i]-&39;A&39;))*pow(16,n-1-i);
t=a[i]-&39;A&39;+10;
else if(a[i]>=&39;a&39;&&a[i]<=&39;f&39;)
// num+=(10+(a[i]-&39;A&39;))*pow(16,n-1-i);
t=a[i]-&39;a&39;+10;
sum=sum*16+t;
}
printf(&34;转换十进制为:&34;);
printf(&34;%d&34;,sum);
}
int main( )
{
char a[10];
void convert(char a[]);
printf(&34;请输入十六进制数:&34;);
gets(a); //输入十六进制数数组
convert(a); //转换数组
return 0;
}
代码二:
include
define N 50
long fun(char *s)
{
int i,t; //t记录临时加的数
long sum =0;
for(i=0;s[i];i++)
{
if(s[i]>=&39;0&39;&&s[i]<=&39;9&39;)
t=s[i]-&39;0&39;; //当字符是0?9时保持原数不变
if(s[i]>=&39;a&39;&&s[i]<=&39;z&39;)
t=s[i]-&39;a&39;+10;
if(s[i]>=&39;A&39;&&s[i]<=&39;Z&39;)
t=s[i]-&39;A&39;+10;
sum=sum*16+t;
}
return sum;
}
int main()
{
int m;
char s[N]; //字符串与字符数组相结合的方式
printf(&34;Enter 16进制数:&34;);
scanf(&34;%s&34;,s); //注意此处%s
m=fun(s);
printf(&34;%d&34;,m);
}
免责声明:本文章由会员“高悦”发布如果文章侵权,请联系我们处理,本站仅提供信息存储空间服务如因作品内容、版权和其他问题请于本站联系