| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 420 人关注过本帖
标题:请大家帮忙看下一个二进制的串转换为整数的程序
只看楼主 加入收藏
shanyaoshan
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2012-12-3
结帖率:0
收藏
已结贴  问题点数:10 回复次数:9 
请大家帮忙看下一个二进制的串转换为整数的程序
void main()
{


char* p = "11100";
    int n = 0;
    for(int i=0;i<strlen(p); i++)
    {
        n = (n<<1)+p[i]-'0';
    }
    printf("%d\n", n);
}
搜索更多相关主题的帖子: 二进制 
2012-12-11 17:09
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:2 
咋了呢 使用strlen函数需要引用string.h

DO IT YOURSELF !
2012-12-11 17:13
daniel_
Rank: 5Rank: 5
等 级:职业侠客
帖 子:212
专家分:307
注 册:2012-11-13
收藏
得分:2 
strlen(p) 得到的是什么????
2012-12-11 17:26
azzbcc
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:江西财经大学
等 级:贵宾
威 望:81
帖 子:3293
专家分:12919
注 册:2012-11-4
收藏
得分:2 
长度啊,string的length简写为strlen


[fly]存在即是合理[/fly]
2012-12-11 17:40
shanyaoshan
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2012-12-3
收藏
得分:0 
谁懂循环体的语句意思呀?
2012-12-11 17:46
小小战士
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:1
帖 子:569
专家分:1313
注 册:2012-11-3
收藏
得分:2 
图片附件: 游客没有浏览图片的权限,请 登录注册

小小战士,战士中的战斗机!
2012-12-11 17:58
空白先生
Rank: 2
等 级:论坛游民
帖 子:115
专家分:95
注 册:2012-12-9
收藏
得分:2 
有点看不懂,可能是我还太嫩了,那个弱弱的问下,那个<<这个符号是啥意思

printf("My goal is to be  good at computer")
2012-12-11 18:03
azzbcc
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:江西财经大学
等 级:贵宾
威 望:81
帖 子:3293
专家分:12919
注 册:2012-11-4
收藏
得分:0 
回复 7楼 空白先生
右移,《《1 相当于 *2


[fly]存在即是合理[/fly]
2012-12-11 18:09
shanyaoshan
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2012-12-3
收藏
得分:0 
请高手详细解释一下这句n = (n<<1)+p[i]-'0';
2012-12-11 19:06
小小战士
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:1
帖 子:569
专家分:1313
注 册:2012-11-3
收藏
得分:0 
8楼,把你那改掉,别误导小孩!

以下是引用shanyaoshan在2012-12-11 19:06:23的发言:

请高手详细解释一下这句n = (n<<1)+p[i]-'0';


<<在这里是左移运算符,n<<1表示将n左移一位,也就是n*2d的意思,左移几位就乘几次2
p[i]-'0'表示将字符转化为数字,如字符'1'转化为数字1
n = (n<<1)+p[i]-'0';表示先给n左移一位,再加上字符转化后的数字,再将和赋给n

总的来说,初始化n=0,给n左移一位实现不了程序的功能,应该给n乘10
如果硬要这么写的话,那就n = (n<<1)*5+p[i]-'0'也行

[ 本帖最后由 小小战士 于 2012-12-11 19:45 编辑 ]

小小战士,战士中的战斗机!
2012-12-11 19:29
快速回复:请大家帮忙看下一个二进制的串转换为整数的程序
数据加载中...
 
   



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

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