最近很不在状态,可能是每天做的题少了,事情比较多,赶紧结束课程设计然后开始正式训练,前几天我家附近有一个北京回来的感染者,很慌。
今天学到一个小技巧,判断一个数有无奇数因子。
i
f
(
(
n
&
(
n
−
1
)
)
=
=
0
if((n \& (n - 1)) == 0
if((n&(n−1))==0
一个偶数
n
n
n 没有奇数因子的话, 那它一直除以
2
2
2 所得的数都是偶数(直到除成
1
1
1 ), 说明这个偶数一定可以写成
2
k
(
k
>
0
)
2^k (k > 0)
2k(k>0), 二进制形式就是只有一个最高位的
1
1
1 ,
n
&
(
n
−
1
)
n\&(n-1)
n&(n−1) 就显然是
0
0
0 。
2020年6月21日总结
最新推荐文章于 2020-12-31 19:36:30 发布