×
嵌入式 > 技术百科 > 详情

IAR stm8 判断位的方法

发布时间:2020-10-23 发布时间:
|
写程序,用到位判断,开始时候,我是这么写的
if (a & 0x02) == 1)
{
}
else
{

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

}
else
{


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

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
实时控制.安全.如何加速实现未来工厂落地?