位运算之获取第k位

转自:https://blog.csdn.net/a1351937368/article/details/77746574/

1.获取右数第k位

取右数第k位 1101101->1,k=4 (x >> (k-1))&1

2.例子

222. 完全二叉树的节点个数

需要根据mid来访问左右子树

            while(t--){//mid&(1<<t)==0
                if(((mid>>t)&1)==0)r=r->left;//注意这里==号前一定要有括号,否则1==0会结合在一起。
                else r=r->right;
            }

获取第k位,就需要先右移对应的次数,然后&1。

原文地址:https://www.cnblogs.com/BlueBlueSea/p/14168857.html