关于判断字节中二进制为1或者是0的问题
char data = 0x01; //需要比较的数据 char temp = 0x01; //如果是单字节为 0x01 双字节为 0x0001 char lasttemp =0x00; for(int i = 0 ;i <4 ;i++) //判断几个字节就在这里输入几 { lasttemp = data>>i;//先右移,然后与0x01 & 运算,如果为1 则 结果为1 ,第i位就是1了。 if(lasttemp&temp) { printf("第%d位,为1。",i); //to do some. } }
根据位运算中的移位运算,并且与0x01 做&运算,就能得出哪一位是一或者是0.