| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 10428 人关注过本帖
标题:求十六进制直接转化为十进制的代码
只看楼主 加入收藏
feng19920101
Rank: 1
来 自:湖北
等 级:新手上路
帖 子:31
专家分:1
注 册:2010-10-10
收藏
得分:0 
回复 4楼 zansunny
怎么只能输入单个字符呢?
能不能让它输入多个字符呢?

希望学好C语言
2010-10-25 14:59
feng19920101
Rank: 1
来 自:湖北
等 级:新手上路
帖 子:31
专家分:1
注 册:2010-10-10
收藏
得分:0 
回复 9楼 someday
恩,最好能输入多个字符的。。。。。。

希望学好C语言
2010-10-25 15:03
tuhaibo
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2011-3-25
收藏
得分:0 
# include<stdio.h>
# include<stdlib.h>
# include<string.h>
# include<math.h>
int main()
{
  char *c;
  float transform(char *p);
  float t;
  c=(char *)malloc(80*sizeof(char));
  scanf("%s",c);
  t=transform(c);
  printf("The %s is equal to the %f!",c,t);
  system("pause");
}
float transform(char *p)
{     
    float intransform(char *p);
    float fractransform(char *p);
    int i,mark,count;
    float sum;
    char *intpart,*fracpart;
    intpart=(char *)malloc(20*sizeof(char)),fracpart=(char *)malloc(20*sizeof(char));
    i=0,mark=0,count=0;
    do
    {           
        if(*(p+i)!='.'&&mark==0) *(intpart+i)=*(p+i),count++;            
        else if(*(p+i)=='.') mark=1,*(intpart+i)='\0';
        else *(fracpart+i-strlen(intpart)-1)=*(p+i);
        i++;
    }while(*(p+i-1)!='\0');   
    if(mark==0) *(fracpart)='\0';
    sum=intransform(intpart)+fractransform(fracpart);
    return sum;
}
float intransform(char *p)
{   
    int lettertrans(char c);
    float pow(float x,int m),sum;
    int n,i;
    n=strlen(p);
    sum=0;
    for(i=0;i<n;i++)        
        sum=sum+lettertrans(*(p+i))*pow(16,n-i-1);
    return sum;
}
int lettertrans(char c)
{   
    int r;
    if(c>='0'&&c<='9') r=c-48;
    else if(c>='A'&&c<='F') r=10+c-65;
    else r=-1;
    return r;
}
float fractransform(char *p)
{
    int lettertrans(char c);
    float pow(float x,int m),sum;
    int n,i;
    n=strlen(p);
    sum=0;
    for(i=0;i<n;i++)        
        sum=sum+lettertrans(*(p+i))*pow(16,-i-1);
    return sum;
}
字符串形式的十六进制转化为十进制数字!
2011-04-07 16:31
快速回复:求十六进制直接转化为十进制的代码
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016009 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved