| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4630 人关注过本帖
标题:[请教]八进制转十进制算法问题
只看楼主 加入收藏
7℃冰块
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2006-8-16
收藏
 问题点数:0 回复次数:3 
[请教]八进制转十进制算法问题
#include <stdio.h>

main(){
char *p,s[6];
int n=0;
p=s;
printf("请输入待转换八进制数:\n");
gets(p);
while(*(p)!='\0'){
n=n*8+*p-'0';
p++;
}
printf("%d\n",n);
}

/*这是经典百例里的一个,请教下各位兄弟姐妹,n=n*8+*p-'0';句怎么实现转换的?
循环n*8计算权值,那*p-'0'是什么?
*/
搜索更多相关主题的帖子: 八进制 算法 十进制 
2006-08-19 22:39
cwande
Rank: 2
等 级:新手上路
威 望:3
帖 子:333
专家分:0
注 册:2006-8-18
收藏
得分:0 
以下是引用7℃冰块在2006-8-19 22:39:42的发言:
#include <stdio.h>

main(){
char *p,s[6];
int n=0;
p=s;
printf("请输入待转换八进制数:\n");
gets(p);
while(*(p)!='\0'){
n=n*8+*p-'0';
p++;
}
printf("%d\n",n);
}

/*这是经典百例里的一个,请教下各位兄弟姐妹,n=n*8+*p-'0';句怎么实现转换的?
循环n*8计算权值,那*p-'0'是什么?
*/

因为你的八进制数是以字符串的形式输入的,而要把数字字符变成整型的话
就需要把*p-'0';
你可以想象一下如果输入十进制的字符串,然后要把它以整型输出的话
while(*(p)!='\0'){
n=n*10+*p-'0';
p++;
}
就应该会明白上面意思了

[此贴子已经被作者于2006-8-19 23:26:34编辑过]


汗,都懒得写代码了.......... cheat了一个威望,哈.....
2006-08-19 23:20
7℃冰块
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2006-8-16
收藏
得分:0 

明白,多谢楼上朋友点拨。


Simple is good.
2006-08-19 23:28
快速回复:[请教]八进制转十进制算法问题
数据加载中...
 
   



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

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