|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 八进制转换为十进制
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
18844
人关注过本帖
标题:
八进制转换为十进制
只看楼主
加入收藏
dayingyushi
等 级:
论坛游民
帖 子:23
专家分:14
注 册:2010-2-10
结帖率:
75%
楼主
收藏
已结贴
√
问题点数:12 回复次数:10
八进制转换为十进制
有一个将八进制字符串转换为与其数值相等的十进制整数的函数,规定输入的字符串最多只能包含5位八进制数
先定义了
char str[6]
有函数:
int fun(char*s)
{int n;
n=*s-'0';
s++;
while(*s!='\0')
{
n=n*8+*s-'0'
;
s++;
}
return n;
}
将str作为实参,使用函数fun(str)
我不明白红色语句部分,请高手帮忙,谢谢
搜索更多相关主题的帖子:
十进制
八进制
2010-03-05 19:10
举报帖子
使用道具
赠送鲜花
邶风
等 级:
职业侠客
帖 子:287
专家分:335
注 册:2009-1-20
第
2
楼
收藏
得分:4
while(*s!='\0')
{n=n*8+*s-'0';
s++;
}
比如(125)8 = 1*8^2 + 2*8^1 + 5*8^0
一次循环出来
n*8 就是实现那个乘方
*s-'0'就是得到算式里面的1、2、5(‘1’-‘0’=1 ‘5’-‘0’=5)
#include
2010-03-05 19:32
举报帖子
使用道具
赠送鲜花
邮贼
等 级:
论坛游民
帖 子:17
专家分:36
注 册:2010-3-5
第
3
楼
收藏
得分:0
这个就是八进制转化为十进制需要的公式啊。。。。
2010-03-05 19:51
举报帖子
使用道具
赠送鲜花
hanzhenddd
等 级:
职业侠客
帖 子:90
专家分:361
注 册:2010-3-4
第
4
楼
收藏
得分:4
int fun(char*s)
{int n;
n=*s-'0';
s++;
while(*s!='\0')
{n=n*8+*s-'0';
s++;
}
return n;
}
--------
例:
假如输入
八进制 A2
则str[0] = 'A'
str[1] ='2'
str[2] = '\0';
n= *s-'0'
这里的n 用来计算累加值
*s初值是 'A'
*s-'0'的作用是把 字符转换成
整形数据
即 n = 10;
s++
此时
*s='2'
while
(...)
n=n*8+*s-'0'
<==>等价 n=80+2
n=82
或者写成
n = (n << 3) | (*s-'0');
效率更高点!~
[
本帖最后由 hanzhenddd 于 2010-3-5 20:28 编辑
]
2010-03-05 20:12
举报帖子
使用道具
赠送鲜花
韦春敢
来 自:广西
等 级:
论坛游侠
帖 子:91
专家分:142
注 册:2010-1-25
第
5
楼
收藏
得分:4
int fun(char*s)
{int n;
n=*s-'0';//这里是将S[0]里的字符转化为十进数并赋予n.
s++;//将指针向下给字符移动。
while(*s!='\0')//判断字符串是否结束!
{n=n*8+*s-'0';//与n=*s-'0'基本相同的思想。将当前指针指的字符转化正十进数(*s-'0'),然后加上原来的n*8。正如十进数中的个位变十位剩10一样。
s++;//将指针向下给字符移动。记得s[0]里的字符是最高位。。如65765。s[0]=6。
}
return n;
}
//真罗嗦!!
哈哈
2010-03-05 21:32
举报帖子
使用道具
赠送鲜花
hanzhenddd
等 级:
职业侠客
帖 子:90
专家分:361
注 册:2010-3-4
第
6
楼
收藏
得分:0
回复 5楼 韦春敢
这位同学貌似我每次回帖你都会被你罗唆一句。。
你说我罗唆 那你数数解释的汉字谁的多谁的少好么?
要谦虚一点啊,到处乱转真觉得自己跟大爷似的。。有种你发个 linux 驱动开发的教程看看!!~
2010-03-06 16:36
举报帖子
使用道具
赠送鲜花
韦春敢
来 自:广西
等 级:
论坛游侠
帖 子:91
专家分:142
注 册:2010-1-25
第
7
楼
收藏
得分:0
我无聊罢了。。没有什么本事的!!
哈哈
2010-03-08 13:52
举报帖子
使用道具
赠送鲜花
韦春敢
来 自:广西
等 级:
论坛游侠
帖 子:91
专家分:142
注 册:2010-1-25
第
8
楼
收藏
得分:0
我本人不要什么谦虚的,我就是想在论坛来帮帮有问题的人,来充实自己的生活。假如有人觉得我是个大爷或假大爷,要把我从这里踢走。那我也没有办法。。
哈哈
2010-03-08 13:58
举报帖子
使用道具
赠送鲜花
uyhero
等 级:
新手上路
帖 子:9
专家分:0
注 册:2010-3-9
第
9
楼
收藏
得分:0
以和为贵
2010-03-09 11:30
举报帖子
使用道具
赠送鲜花
f26842684
等 级:
论坛游民
帖 子:19
专家分:47
注 册:2010-3-8
第
10
楼
收藏
得分:0
其实我是蹭分的...^_^
2010-03-09 12:29
举报帖子
使用道具
赠送鲜花
11
1/2页
1
2
快速回复:
八进制转换为十进制
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.058750 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved