一个小问题

学术版

```cpp if (x == (x&-x)) ```
by 文文殿下 @ 2019-07-17 08:25:24


```cpp !(x&(x-1)) ```
by qwaszx @ 2019-07-17 08:26:57


@[Sakura_Tears](/space/show?uid=62573) 应该可以 如果一个数是2的k次方,那么这个数对应的二进制表示中只有一位是1,其余都是0. 因此判断一个数是否是2的k次方,可以转换为判断这个数对应的二进制表示是否只有一位为1. 所以num&(num-1)的运算结果为0
by 江南小巫 @ 2019-07-17 08:27:17


@[江南小巫](/space/show?uid=30224) 非常感谢
by zzqDeco @ 2019-07-17 08:32:33


@[文文殿下](/space/show?uid=64618) 非常感谢
by zzqDeco @ 2019-07-17 08:32:37


@[qwaszx](/space/show?uid=22136) 非常感谢
by zzqDeco @ 2019-07-17 08:32:41


@[qwaszx](/space/show?uid=22136) @[Sakura_Tears](/space/show?uid=62573) (这种还得特判 0
by tiger0133 @ 2019-07-17 08:43:17


* 好像都得特判 $0$(
by tiger0133 @ 2019-07-17 08:43:34


@[⚡cdecl⚡](/space/show?uid=28762) 0也是2^k
by zzqDeco @ 2019-07-17 08:47:03


@[Sakura_Tears](/space/show?uid=62573) ???
by tiger0133 @ 2019-07-17 08:47:23


| 下一页