OpenEdv-开源电子网

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

关于数据移位存储的问题

[复制链接]

111

主题

265

帖子

0

精华

高级会员

Rank: 4

积分
740
金钱
740
注册时间
2014-3-4
在线时间
6 小时
发表于 2016-5-25 11:06:45 来自手机 | 显示全部楼层 |阅读模式
定义了long int data _mcst
然后下面这段程序
for(i=0;i<24;i++)
      {
            while(p06_read==1) high++;
            while(p06_read!=1) low++;
            if(high>low)
                data_mcst | =1<<(23-i);
             else
                 data_mcst & =0<<(23-i);
}
我那么移位为什不行
用了
data_mcst=(data_mcst<<1)|0;就正常了
但是感觉之前的移位没毛病啊?
求大神指导
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

6

主题

1097

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3571
金钱
3571
注册时间
2014-12-2
在线时间
365 小时
发表于 2016-5-25 15:49:47 | 显示全部楼层
data_mcst & =0<<(23-i);


慎重考虑一下这一句的含义,实在不明白可以回去翻翻C语言入门教材
坚决不用寄存器,拒绝重复造轮子。
回复 支持 反对

使用道具 举报

30

主题

1170

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1993
金钱
1993
注册时间
2016-2-16
在线时间
527 小时
发表于 2016-5-28 16:36:14 | 显示全部楼层
else
                  data_mcst & =~(1<<(23-i));
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-10 16:28

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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