八十进制转换成八进制十进制226.1Q

C语言中八进制转换成十进制_百度知道1.将下面二进制、八进制、16进制的数转换成十进制。 ()2 (2754)8_百度知道二进制101.1转换成十进制是多少?_百度知道共有 12635 人关注过本帖
标题:八进制转换为十进制
等 级:论坛游民
帖 子:23
专家分:14
结帖率:75%
&&已结贴√
&&问题点数:12&&回复次数:9&&&
八进制转换为十进制
有一个将八进制字符串转换为与其数值相等的十进制整数的函数,规定输入的字符串最多只能包含5位八进制数
先定义了&&char str[6]
int fun(char*s)
&n=*s-'0';
&while(*s!='\0')
&{n=n*8+*s-'0';
将str作为实参,使用函数fun(str)
我不明白红色语句部分,请高手帮忙,谢谢
搜索更多相关主题的帖子:
等 级:职业侠客
帖 子:287
专家分:335
while(*s!='\0')
{n=n*8+*s-'0';
比如(125)8 = 1*8^2 + 2*8^1 + 5*8^0
一次循环出来
&n*8 就是实现那个乘方
*s-'0'就是得到算式里面的1、2、5(‘1’-‘0’=1 ‘5’-‘0’=5)
等 级:论坛游民
帖 子:17
专家分:36
这个就是八进制转化为十进制需要的公式啊。。。。
等 级:职业侠客
帖 子:90
专家分:361
int fun(char*s)
while(*s!='\0')
{n=n*8+*s-'0';
例:&&假如输入&&八进制 A2&&&&&& 则str[0] = 'A'&&str[1] ='2'&&&str[2] = '\0';
n= *s-'0'&&&&&&&&&这里的n 用来计算累加值&&&*s初值是 'A'&&& *s-'0'的作用是把 字符转换成&&整形数据&&&即 n = 10;
s++&&& 此时&&&*s='2'
(...)&&&&&n=n*8+*s-'0'&&&&&&==&等价 n=80+2&&&&&n=82
或者写成&&n = (n && 3) | (*s-'0');&&&效率更高点!~
[ 本帖最后由 hanzhenddd 于
20:28 编辑 ]
来 自:广西
等 级:论坛游侠
帖 子:91
专家分:142
int fun(char*s)
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。
//真罗嗦!!
等 级:职业侠客
帖 子:90
专家分:361
回复 5楼 韦春敢
这位同学貌似我每次回帖你都会被你罗唆一句。。
你说我罗唆 那你数数解释的汉字谁的多谁的少好么?
要谦虚一点啊,到处乱转真觉得自己跟大爷似的。。有种你发个 linux 驱动开发的教程看看!!~
来 自:广西
等 级:论坛游侠
帖 子:91
专家分:142
我无聊罢了。。没有什么本事的!!
来 自:广西
等 级:论坛游侠
帖 子:91
专家分:142
我本人不要什么谦虚的,我就是想在论坛来帮帮有问题的人,来充实自己的生活。假如有人觉得我是个大爷或假大爷,要把我从这里踢走。那我也没有办法。。
等 级:新手上路
等 级:论坛游民
帖 子:19
专家分:47
其实我是蹭分的...^_^
版权所有,并保留所有权利。
Powered by , Processed in 0.043017 second(s), 8 queries.
Copyright&, BCCN.NET, All Rights Reserved将下面这个八进制转换为十进制是多少?57.643_百度知道

我要回帖

更多关于 十进制转换成八进制 的文章

 

随机推荐