/如何判断数据某一位是0还是1?*/
如:0x88 判断该十六进制数的第二位是0,还是1?
分析:
明显这是一个十六进制数,首先要明确,判断位的值,是判断二进制数的位,所以 0x88 的第二位不是 8,因为这是一个十六进制数;
问题解决:
0x88 &= (1<<2);
我们进行一个位运算这样我们只需要判断(0x88 &=(1<<2))的值是否为0即可判断第二位原本的初值是0或是1了。
若位运算后数值为0,则原本第二位为0;
若位运算后非0(或者值是4(十进制)),则原本第二位为1;
这个自己把数据化成二进制,自己位运算一下,就会很清楚了。
注:判断第n位,我们就让xxxxx &= (1<<n) ;