if (k & (1 << p))是什么意思,什么情况下执行if的循环
2条回答 默认 最新
於黾 2021-10-19 14:44关注if是条件分支,哪里有循环
&是与,位运算符
<<是左移位,也是位运算符
这不过是个数学运算,哪里复杂
-=-=-=
1<<p,1左移P位,即一个二进制数,只有从右往左数第P个位置是1,其余都是0
用k与它,就是用来将k的第P位取出来,其它位都跟0与没了
最后if(x),当x==0时为false,不为0时为true
所以最后就是k的第P位如果是1就进入选择,为0就跳过本回答被题主选为最佳回答 , 对您是否有帮助呢?评论 打赏 举报解决 1无用