标题:[求助]如何将十六进制转为十进制
只看楼主
学习者1
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2007-7-27
 问题点数:0 回复次数:17 
[求助]如何将十六进制转为十进制

这样可否???
#include "stdio.h"
main()
{float a=0,b;char h;
h=getchar();
while(h!='\n')
{switch(h)
{case'0':b=0;break;
case'1':b=1;break;
case'2':b=2;break;
case'3':b=3;break;
case'4':b=4;break;
case'5':b=5;break;
case'6':b=6;break;
case'7':b=7;break;
case'8':b=8;break;
case'9':b=9;break;
case'a':b=10;break;
case'b':b=11;break;
case'c':b=12;break;
case'd':b=13;break;
case'e':b=14;break;
case'f':b=15;break;
default:printf("erreor");break;}
a=(a+b)*16;
h=getchar();
}
printf("%f\n",a/16);
}



搜索更多相关主题的帖子: case break 十六进制 十进制 
2007-07-27 12:22
岳C
Rank: 1
等 级:禁止发言
帖 子:354
专家分:0
注 册:2007-7-16
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽

坚持到底
2007-07-27 12:56
anlogo
Rank: 2
等 级:论坛游民
威 望:1
帖 子:293
专家分:20
注 册:2007-7-20
得分:0 

使用switch结构比较麻烦,可以使用if语句代替

#include <stdio.h>
main()
{
char h,a;
h=getchar();
if(h>='0'&&h<='9')
a=h-'0';
else if(h>='a'&&h<='f')
a=h-'a'+10;
printf("\n%d\n",a);
getch();
}

2007-07-27 13:42
leeco
Rank: 4
等 级:贵宾
威 望:10
帖 子:1026
专家分:177
注 册:2007-5-10
得分:0 


#include <stdio.h>

int main()
{
int x;
scanf(\"%x\",&x);
printf(\"%d\n\",x);
}

[此贴子已经被作者于2007-7-27 14:24:38编辑过]

2007-07-27 14:24
bluecomputer
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2007-7-18
得分:0 

3楼的兄弟那个方法有点问题,假如输入的是“fda1223”,那按照你的程序根本无法进行转换..,4楼的...投机...

2007-07-27 15:47
bluecomputer
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2007-7-18
得分:0 

#include <stdio.h>

void main()
{
char str[81],c;
int a=0,i=0;
gets(str);
while((c=str[i])!='\0')
{
if(c>='0'&&c<='9')
a=a*16+c-'0';
if(c>='a'&&c<='f')
a=(a*16+c-'a'+10);
if(c>='A'&&c<='F')
a=(a*16+c-'A'+10);
i++;
}
printf("\n%ld\n",a);
}
这是我写的个..有什么缺点请各位多多指教


2007-07-27 15:58
luo123
Rank: 1
等 级:新手上路
威 望:2
帖 子:324
专家分:0
注 册:2007-4-13
得分:0 
LS知道要怎样做吗?

[url=http://www..cn]电子编程[/url]
2007-07-27 16:09
ml342418175
Rank: 1
等 级:新手上路
威 望:1
帖 子:183
专家分:0
注 册:2007-4-13
得分:0 
这个进制之间转换的思想是什么?是不是和书本上的计算一样?

做人要洒脱一点,潇洒一点!
2007-07-27 21:19
anlogo
Rank: 2
等 级:论坛游民
威 望:1
帖 子:293
专家分:20
注 册:2007-7-20
得分:0 

#include <stdio.h>

int main()
{
int x;
scanf("%x",&x);
printf("%d\n",x);
}
学到东西了哈~~

2007-07-27 21:45
水漪儿
Rank: 2
来 自:shangshida
等 级:论坛游民
帖 子:147
专家分:10
注 册:2007-7-19
得分:0 
4楼的有点投机,但简单,而且正确率是100%.适合考试用吧.
2007-07-27 21:51



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-158526-1-1.html




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

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