关于判断字节中二进制为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.

posted on 2017-02-19 17:21  wetung  阅读(1948)  评论(0编辑  收藏  举报

导航