return !(x&(x-1)) 可以判断一个数x是不是2的n次方
首先假设x是2的n次方,那么表示成二进制为000…010…000减1后为000…001…111所以位与后得到0
故返回1则是2的n次方
判断一个数是否为2的n次方
最新推荐文章于 2022-01-24 22:25:51 发布
return !(x&(x-1)) 可以判断一个数x是不是2的n次方
首先假设x是2的n次方,那么表示成二进制为000…010…000减1后为000…001…111所以位与后得到0
故返回1则是2的n次方