c语言 十六进制和十进制间的转换1.将十六进制转换为十进制.
#include
#include
int main(void){
int convert(int,char *);
int i,j;
char m[20];
printf("请输入你要转换的数:");
scanf("%s",m);
i=0;
while(*(m+i)!='\0'){
i++;
}
j=convert(--i,m);
printf("转换为十进制是:%d\n",j);
...
1.将十六进制转换为十进制.
#include
#include
int main(void){
int convert(int,char *);
int i,j;
char m[20];
printf("请输入你要转换的数:");
scanf("%s",m);
i=0;
while(*(m+i)!='\0'){
i++;
}
j=convert(--i,m);
printf("转换为十进制是:%d\n",j);
return 0;
}
int convert(int a,char *p){
int i,j,sum;
sum=0;
for(i=0;i<=a;i++){
if(*(p+i)<='f'&&*(p+i)>='a')
j=(int)(*(p+i))-87;
else if(*(p+i)<='F'&&*(p+i)>='A')
j=(int)(*(p+i))-55;
else
j=(int)(*(p+i))-48;
sum=sum+pow(16,a-i)*j;
}
return (sum);
}
2.将十进制转换为十六进制.
#include
int main(void)
{
int i,a[20],m,m_old;
char c;
i=0;
printf("请输入你要转换的数:");
scanf("%d",&m);
m_old=m;
while(m!=0){
a[i]=m%16;
m/=16;
i++;
}
i--;
/*for(;i>=0;i--){
printf("%d ",*(a+i));
}*/
printf("%d转换为十六进制是:",m_old);
for(;i>=0;i--){
/*switch(a[i]){
case(10):printf("A");break;
case(11):printf("B");break;
case(12):printf("C");break;
case(13):printf("D");break;
case(14):printf("E");break;
case(15):printf("F");break;
default: printf("%d",a[i]);
}*/
if(a[i]>=10){
c=55+a[i];
printf("%c",c);
}
else
printf("%d",a[i]);
}
printf("\n");
return (0);
}
本文档为【c语言 十六进制和十进制间的转换】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。