C语言中,关于&,^,!布尔代数,移位操作的一些巧妙算法
(1) 例如检查一个数X的第n位是否为1,我们可以通过下面的算法实现:
int nBitCheck=(x&pow(2,n-1))/pow(2,n-1);如果返回的是1,则第n位为1,若果是0,则为0;
我们可以通过>>和
int nBitCheck=(x&(1>(n-1);
(2)统计一个数X(一个字长16位)中1的个数,int bitCount(unsigned int x)
{
原创
2012-11-02 11:25:56 ·
653 阅读 ·
0 评论