关于一个位操作函数的问题
假如我定义一个
unsigned int p;
我把一个寄存器里的值传递给p
假如这个值是10010110
我想知道 p 里面有个1,然后每个1在哪位位置
请问怎么处理呀
[解决办法]
看这个:
#define uchar unsigned char
/*测试变量某一位是否为‘1’,是返回真,否返回假,num为待测试的数,bit为位数,其值从0到7,下同*/
uchar bittest(uchar num,uchar bit)
{ if(num> > bit&0x01==1)
return 1;
else
return 0;
}