用C语言实现16进制转化为10进制?

如题所述

C语言程序中,十进制和十六进制实际是互通的。

十六进制数由数字0~9、字母A~F(或a~f)组成。把十六进制数按权展开、相加即得十进制数。

现实中十六进制数和十进制数不可以直接相加,如是在电脑上的话是可以的,何种进制数在电脑上都是以二进制的形式表示的,在电脑编写程序时是可以相加的。

十进制数除base取余法,即十进制数除以base,余数为权位上的数,得到的商值继续除以base,依此步骤继续向下运算直到商为0为止。

扩展资料

十六进制转十进制的源代码如下:

#include<stdio.h>

#include<string.h>

int main(void)

{

char s[20]

hex[20];

int i,j,num;

gets(s);

/*取出字符串中的十六进制字符*/

for(i=0,j=0;s[i]!='\0';i++)

{

hex[j]=s[i];

j++;

}

hex[j]='\0';

printf("Hexadecimal String: ");

puts(hex);

/* 十六进制转十进制 */

num=0;

for(i=0;hex[i]!='\0';i++)

}

printf("Decimal number=%d\n",num);

return 0;

}

温馨提示:答案为网友推荐,仅供参考
相似回答