c语言编写十进制转16进制(C语言-16进制转10进制)

代码一:#include <stdio.h>,今天小编就来聊一聊关于c语言编写十进制转16进制?接下来我们就一起去研究一下吧!

c语言编写十进制转16进制(C语言-16进制转10进制)

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

    分享
    投诉
    首页