c语言十六进制转换加H,c语言十六进制和十进制间的转换.docx
集團文件版本號:(M928-T898-M248-WU2669-I2896-DQ586-M1988)
集團文件版本號:(M928-T898-M248-WU2669-I2896-DQ586-M1988)
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);
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语言十六进制转换加H,c语言十六进制和十进制间的转换.docx的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c语言printf到指定文件,急求如何将
- 下一篇: c command语言学例子,语言学第四