专注电子技术学习与研究
当前位置:单片机教程网 >> MCU设计实例 >> 浏览文章

IAR stm8 判断位的方法

作者:huqin   来源:本站原创   点击数:  更新时间:2013年11月21日   【字体:

写程序,用到位判断,开始时候,我是这么写的
if (a & 0x02) == 1)
{
}
else
{

}
a的第二位如果为1,则执行if中的程序,否则执行else中的程序
但编译完以后,事情的发展却残酷的背离了我的初衷。
结果改成以下语句后,事情才得到了平息。
if ((a >> 1 & 0x01) == 1)
{

}
else
{


先把位移1位,然后在和“1与操作”,这个时候,就可以得到想要的结果了
原因可能是由于c语言的语法造成的 ,但具体的原因由于没有看书,也不知道,写这个的目的是给同样困惑的小盆友们一个提示,在遇到这样的情况,试试以下的方法。

关闭窗口

相关文章