寫程序,用到位判斷,開始時(shí)候,我是這么寫的
if (a & 0x02) == 1)
{
}
else
{
}
a的第二位如果為1,則執(zhí)行if中的程序,否則執(zhí)行else中的程序
但編譯完以后,事情的發(fā)展卻殘酷的背離了我的初衷。
結(jié)果改成以下語(yǔ)句后,事情才得到了平息。
if ((a >> 1 & 0x01) == 1)
{
}
else
{
}
先把位移1位,然后在和“1與操作”,這個(gè)時(shí)候,就可以得到想要的結(jié)果了
原因可能是由于c語(yǔ)言的語(yǔ)法造成的 ,但具體的原因由于沒有看書,也不知道,寫這個(gè)的目的是給同樣困惑的小盆友們一個(gè)提示,在遇到這樣的情況,試試以下的方法。