c语言编写十进制转16进制(C语言-16进制转10进制)
代码一:#include <stdio.h>,今天小编就来聊一聊关于c语言编写十进制转16进制?接下来我们就一起去研究一下吧!
c语言编写十进制转16进制
代码一:
#include <stdio.h>
#include <math.h>
#include <string.h>
void convert(char a[]) //十六进制 转 十进制
{
int i,t;
long sum=0;
for(i=0;a[i];i )
{
if(a[i]>='0'&&a[i]<='9')
// num =(a[i]-'0')*pow(16,n-1-i);
t=a[i]-'0';
else if(a[i]>='A'&&a[i]<='F')
// num =(10 (a[i]-'A'))*pow(16,n-1-i);
t=a[i]-'A' 10;
else if(a[i]>='a'&&a[i]<='f')
// num =(10 (a[i]-'A'))*pow(16,n-1-i);
t=a[i]-'a' 10;
sum=sum*16 t;
}
printf("转换十进制为:");
printf("%d",sum);
}
int main( )
{
char a[10];
void convert(char a[]);
printf("请输入十六进制数:");
gets(a); //输入十六进制数数组
convert(a); //转换数组
return 0;
}
代码二:
#include<stdio.h>
#define N 50
long fun(char *s)
{
int i,t; //t记录临时加的数
long sum =0;
for(i=0;s[i];i )
{
if(s[i]>='0'&&s[i]<='9')
t=s[i]-'0'; //当字符是0~9时保持原数不变
if(s[i]>='a'&&s[i]<='z')
t=s[i]-'a' 10;
if(s[i]>='A'&&s[i]<='Z')
t=s[i]-'A' 10;
sum=sum*16 t;
}
return sum;
}
int main()
{
int m;
char s[N]; //字符串与字符数组相结合的方式
printf("Enter 16进制数:");
scanf("%s",s); //注意此处%s
m=fun(s);
printf("%d",m);
}
,免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com