OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 1944|回复: 7

关于数组的位操作判断

[复制链接]

24

主题

106

帖子

0

精华

高级会员

Rank: 4

积分
637
金钱
637
注册时间
2018-7-13
在线时间
197 小时
发表于 2018-7-24 16:13:08 | 显示全部楼层 |阅读模式
1金钱
题目:定义一个数组,判断数组内各个元素的位,等于0 打印空格 等于1 打印*
const unsigned char gImage[2]={0x01,0xff};
void Gimage_Int(void)
{
       if ((gImage[0])&(0x80)==0x80) //判断最高位是否为1
    {
        printf("*");
    }
    else
    {
        printf(" ");
    }
}

通过串口打印 发现 输出* ,求助各位是哪里出了问题

最佳答案

查看完整内容[请看2#楼]

问题已解决 优先级判断
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

24

主题

106

帖子

0

精华

高级会员

Rank: 4

积分
637
金钱
637
注册时间
2018-7-13
在线时间
197 小时
 楼主| 发表于 2018-7-24 16:13:09 | 显示全部楼层
问题已解决 优先级判断
回复

使用道具 举报

4

主题

76

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
268
金钱
268
注册时间
2018-2-11
在线时间
53 小时
发表于 2018-7-24 16:31:22 | 显示全部楼层
优先级的问题!
回复

使用道具 举报

39

主题

535

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1065
金钱
1065
注册时间
2018-3-27
在线时间
378 小时
发表于 2018-7-24 16:31:24 | 显示全部楼层
  if ((gImage[0])&(0x80)==0x80)。优先级的问题了
  ==的优先级比&的优先级高
  所以就是if(0x01&1)为真
回复

使用道具 举报

10

主题

778

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
6745
金钱
6745
注册时间
2017-4-12
在线时间
1258 小时
发表于 2018-7-24 16:34:04 | 显示全部楼层
if ((gImage[0]&0x80)==0x80)

写成这样
回复

使用道具 举报

31

主题

1955

帖子

3

精华

论坛元老

Rank: 8Rank: 8

积分
4521
金钱
4521
注册时间
2018-5-11
在线时间
946 小时
发表于 2018-7-24 17:31:18 | 显示全部楼层
运算符优先级
我的开源链接 https://github.com/ShuifaHe/STM32.git  请关注,点赞支持哦。
回复

使用道具 举报

29

主题

338

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1181
金钱
1181
注册时间
2018-4-13
在线时间
170 小时
发表于 2018-7-25 07:32:32 | 显示全部楼层
if ( (gImage[0]) & (0x80) )
{

}
else{

}
回复

使用道具 举报

0

主题

4

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
413
金钱
413
注册时间
2018-6-27
在线时间
30 小时
发表于 2018-7-25 08:56:10 | 显示全部楼层
原来==的优先级要高于&呀,没留意过,要是让我看程序检查问题就错过了,刚查了一下,==  >  &  >  |
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-18 01:38

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表