标题:[求助]如何将十六进制转为十进制
只看楼主
anelwl
Rank: 1
等 级:新手上路
帖 子:70
专家分:0
注 册:2007-7-26
得分:0 
回复:(学习者1)[求助]如何将十六进制转为十进制

我的程序,请高手指正:

#include "Stdio.h"
#include "Conio.h"
#include "string.h"
int multiple(int n);
main()
{
char c[20];
int i,N,dec;
printf("please enter a hex number:\n");
scanf("%s",c);
N=strlen(c);
printf("%d\n",N);
dec=0;
for(i=N-1;i>=0;i--)
dec+=c[i]*multiple(N-i);

printf("after change,the dec number is:%d\n",dec);
getch();
}
int multiple(int n)
{ int i,t;
t=1;
for(i=1;i<n;i++)
t=16*t;
return t;
}


2007-07-28 10:25
a1z26
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2007-7-28
得分:0 
11楼的比较标准吧
2007-07-28 21:08
臭宝
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2007-7-28
得分:0 
4楼的太棒的```
2007-07-29 00:41
野比
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:24
帖 子:1627
专家分:516
注 册:2007-5-24
得分:0 
以下是引用水漪儿在2007-7-27 21:51:37的发言:
4楼的有点投机,但简单,而且正确率是100%.适合考试用吧.

你在开玩笑...
若考试这么写, 我敢肯定要得0分... 哪怕这个方法"正确, 有创新"...


女侠,约吗?
2007-07-29 13:36
jianweichief
Rank: 1
等 级:新手上路
帖 子:80
专家分:0
注 册:2007-7-18
得分:0 
这里的程序都用不了啊

2007-07-29 19:59
学习者1
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2007-7-27
得分:0 
回复:(jianweichief)这里的程序都用不了啊
我同意

2007-07-30 11:11
学习者1
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2007-7-27
得分:0 
回复:(bluecomputer)3楼的兄弟那个方法有点问题,假...

是溢出了,如果用double就没问题了

2007-09-20 16:14
josen0205
Rank: 2
来 自:江苏
等 级:论坛游民
帖 子:307
专家分:52
注 册:2007-5-8
得分:0 

char *i_itoa(int n,char *str,int m)//将十进制数n转换得到m进制数
{
int i=0,len;
char str1[32];
memset(str1,0,sizeof(str1));
while(n)
{
if(n%m>=10)
str1[i]=n%m%10+'a';
else
str1[i]=n%m+'0';
n=n/m;
i++;
}
len=i;
for(i=0;i<len;i++)
str[i]=str1[len-1-i];
return str;
}

int i_chg(char *str,int m)//m进制数转换得到十进制数
{
int i,tmp=0,num;
int len;
len=(int)strlen(str);
for(i=0;i<len;i++)
{
if(str[i]>='a'&&str[i]<='f')
num=10+str[i]-'a';
else
num=str[i]-'0';
tmp+=num*(int)pow(m,len-1-i);
}
return tmp;
}


只有想不到,没有做不到
2007-09-20 17:22



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




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

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