|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 请教八进制换十进制的题目
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
681
人关注过本帖
标题:
请教八进制换十进制的题目
只看楼主
加入收藏
文武两边随
等 级:
论坛游民
帖 子:40
专家分:39
注 册:2009-7-23
结帖率:
90.91%
楼主
收藏
已结贴
√
问题点数:20 回复次数:5
请教八进制换十进制的题目
程序是这样的 但有的地方还是不懂
main()
{
char *p,s[6];
int n;
p=s;
gets(p);
n=*p-'0';
while(*++p!='\0')
n=n*8+*p-'0';
printf("%d\n",n);
}
n=*p-'0'; 这句怎么理解?减个'0'是什么意思?这个'0'代表什么意思?
同理还有*p-'0'?
有懂的帮忙解答下 ,谢谢了~~~
搜索更多相关主题的帖子:
八进制
十进制
2009-07-25 08:31
举报帖子
使用道具
赠送鲜花
NoSoul
来 自:沈阳化工大学
等 级:
蜘蛛侠
帖 子:283
专家分:1010
注 册:2009-6-6
第
2
楼
收藏
得分:0
‘0’当然代表字符0,n=*p-‘0’代表n为*p与0在ACSII码中的差值,在ACSII码中0与1的差值刚好为1,即‘1’-‘0’=1
我想伸手拉近點,竟觸不到那邊,就欠一點點,但這一點點...卻好遠
2009-07-25 09:01
举报帖子
使用道具
赠送鲜花
文武两边随
等 级:
论坛游民
帖 子:40
专家分:39
注 册:2009-7-23
第
3
楼
收藏
得分:0
但是为什么要减呢?减去一个0等于没减吗?我知道八进制的数只有0~8之间 跟这个有关吗?
2009-07-25 09:17
举报帖子
使用道具
赠送鲜花
DMS
等 级:
论坛游民
帖 子:54
专家分:48
注 册:2009-6-28
第
4
楼
收藏
得分:10
减0是为了把字符转化成数字,0的ACSII码为48
2009-07-25 09:19
举报帖子
使用道具
赠送鲜花
NoSoul
来 自:沈阳化工大学
等 级:
蜘蛛侠
帖 子:283
专家分:1010
注 册:2009-6-6
第
5
楼
收藏
得分:10
回复 3楼 文武两边随
有关,这不是减去数字0而是减去字符0,明白?
我想伸手拉近點,竟觸不到那邊,就欠一點點,但這一點點...卻好遠
2009-07-25 09:19
举报帖子
使用道具
赠送鲜花
文武两边随
等 级:
论坛游民
帖 子:40
专家分:39
注 册:2009-7-23
第
6
楼
收藏
得分:0
我太蠢了......现在了解了 谢谢!
2009-07-25 09:38
举报帖子
使用道具
赠送鲜花
6
1/1页
1
快速回复:
请教八进制换十进制的题目
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.021528 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved