| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 11560 人关注过本帖
标题:s[10] & 0x80 是什么运算??
只看楼主 加入收藏
justwant
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2008-6-8
收藏
 问题点数:0 回复次数:10 
s[10] & 0x80 是什么运算??
有条这样的语句:
if(s[10]& 0x80)
{
  语句;
 }
其中,s[10]是一个char型的数组元素,不明白s[10] & 0x80是什么运算。
搜索更多相关主题的帖子: abc 
2008-06-11 20:46
sunkaidong
Rank: 4
来 自:南京师范大学
等 级:贵宾
威 望:12
帖 子:4496
专家分:141
注 册:2006-12-28
收藏
得分:0 
看这个是不是汉字

学习需要安静。。海盗要重新来过。。
2008-06-11 20:47
justwant
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2008-6-8
收藏
得分:0 
是汉字就怎么了?
我只知道&是取地址运算,不知道s[10] & 0x80在一起代表什么。
源程序太长了, 我也不贴出来了,这是s[10]的某一位地址呢,还是判断s[10]的某一bit位的数值,搞不懂
2008-06-11 20:52
sunkaidong
Rank: 4
来 自:南京师范大学
等 级:贵宾
威 望:12
帖 子:4496
专家分:141
注 册:2006-12-28
收藏
得分:0 
你去看位运算和汉字编码

学习需要安静。。海盗要重新来过。。
2008-06-11 20:55
young
Rank: 3Rank: 3
等 级:论坛游侠
威 望:2
帖 子:223
专家分:160
注 册:2004-9-5
收藏
得分:0 
是按位与运算,用来判断s[10]第8位是否是1

如果你爱C语言,请你爱指针; 如果你爱指针,请你爱指针的指针;
2008-06-11 22:58
lingluoz
Rank: 2
来 自:苏州科技学院
等 级:新手上路
威 望:4
帖 子:749
专家分:0
注 册:2008-2-2
收藏
得分:0 
因为if如果后面的是非零的值就执行。
再看0x80
写成二进制就是10000000 和char and一下就把这个char的后面七位盖掉了
所以这个就是判断这个char最前面的一位是不是1
遇见这种代码最恶心了。。以后千万不要写这种类型的。

Murphy's Law :
If there are two or more ways to do something, and one of those ways can result in a catastrophe, then someone will do it.
2008-06-11 23:12
sunkaidong
Rank: 4
来 自:南京师范大学
等 级:贵宾
威 望:12
帖 子:4496
专家分:141
注 册:2006-12-28
收藏
得分:0 
还是多看看吧。。位运算还是可以用的。。对于简洁代码很有好处。。你去看看燕子论坛的代码。。

学习需要安静。。海盗要重新来过。。
2008-06-11 23:19
justwant
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2008-6-8
收藏
得分:0 
c 语言里and应该是 && 的吧
不过,我觉得是应该位运算,那是不是应该是这样
s[10] && 0x80
2008-06-12 19:08
永夜的极光
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:2721
专家分:1
注 册:2007-10-9
收藏
得分:0 
[bo][un]lingluoz[/un] 在 2008-6-11 23:12 的发言:[/bo]

因为if如果后面的是非零的值就执行。
再看0x80
写成二进制就是10000000 和char and一下就把这个char的后面七位盖掉了
所以这个就是判断这个char最前面的一位是不是1
遇见这种代码最恶心了。。以后千万不要写这种类型 ...

这种写法正是C的一大优势,也是其被称为中级语言的原因之一,不用的话,C的很多美妙的地方你就体验不到了

从BFS(Breadth First Study)到DFS(Depth First Study)
2008-06-12 19:53
永夜的极光
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:2721
专家分:1
注 册:2007-10-9
收藏
得分:0 
[bo][un]justwant[/un] 在 2008-6-12 19:08 的发言:[/bo]

c 语言里and应该是 && 的吧
不过,我觉得是应该位运算,那是不是应该是这样
s[10] && 0x80

C语言中,&&是条件运算法,&是位运算符,你这个程序,就应该用&

从BFS(Breadth First Study)到DFS(Depth First Study)
2008-06-12 19:55
快速回复:s[10] & 0x80 是什么运算??
数据加载中...
 
   



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

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