| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 415 人关注过本帖
标题:请教一下有关位操作的问题
取消只看楼主 加入收藏
hexianqi1994
Rank: 1
等 级:新手上路
帖 子:50
专家分:0
注 册:2011-8-3
结帖率:86.96%
收藏
已结贴  问题点数:5 回复次数:4 
请教一下有关位操作的问题
程序很短,如下
问题主要在红字那一句,问题有3
1.*运算符和++运算符的优先级谁比较高
2.- '0' 这个操作是啥意思
3.( dec<<1 ) + *p++ 这一步是啥意思
#include <stdio.h>
int bin_dec(char *p);
char * pbin = "01001001";
int main(void)
{
 printf("bin: %s is dec: %d\n", pbin, bin_dec(pbin));
 return 0;
}

int bin_dec(char *p)
{
 int dec=0;
 while(*p != '\0')
  dec = ( dec<<1 ) + *p++ - '0' ;
return dec;
}
搜索更多相关主题的帖子: 优先级 
2011-08-26 13:54
hexianqi1994
Rank: 1
等 级:新手上路
帖 子:50
专家分:0
注 册:2011-8-3
收藏
得分:0 
在线等,求详细
2011-08-26 13:54
hexianqi1994
Rank: 1
等 级:新手上路
帖 子:50
专家分:0
注 册:2011-8-3
收藏
得分:0 
那第一次循环时,dec的初值是什么
2011-08-26 15:07
hexianqi1994
Rank: 1
等 级:新手上路
帖 子:50
专家分:0
注 册:2011-8-3
收藏
得分:0 
瞎狗眼了.看不到那里那个dec=0
2011-08-26 15:08
hexianqi1994
Rank: 1
等 级:新手上路
帖 子:50
专家分:0
注 册:2011-8-3
收藏
得分:0 
能不能说一下dec = ( dec<<1 ) + *p++ - '0' 这条式子是什么原理,感觉跟二进制转化成十进制的一般方式很不同
2011-08-26 15:59
快速回复:请教一下有关位操作的问题
数据加载中...
 
   



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

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