判断一个数是否是2的幂
发布日期:2021-05-09 00:44:58 浏览次数:12 分类:博客文章

本文共 210 字,大约阅读时间需要 1 分钟。

前言

概念:

如果一个数是2的幂,那么它的二进制是这样的:

2 10
4 100
8 1000
16 10000

也就是第一个是1,其他都是0。

然后-1的话:
1 01
4 11
8 111
16 1111

正文

(num&(num-1))==0

就是了。

解释,为什么不是2的幂就不会等于0呢?

比如说3

3 111

2 010

那么是不会等于0的,因为其他位会补位,也就是一定有一个同为1的。

所以可以这样来运算。

上一篇:无序数组在排序后的最大相邻查
下一篇:最大公约数

发表评论

最新留言

路过,博主的博客真漂亮。。
[***.116.15.85]2025年04月17日 05时32分30秒