原理
如果一个数n是2的幂,那么一定是00100这种格式,且n-1的二进制为00011这种格式,如下
2的二进制为 0000 0010,(2-1)的二进制为 0000 0001
4的二进制为 0000 0100,(4-1)的二进制为 0000 0011
8的二进制为 0000 1000,(8-1)的二进制为 0000 0111
16的二进制为0001 0000,(16-1)的二进制为 0000 1111
所以若n为2的幂,则n和n-1做&运算,一定为0
代码如下
wx63993a9e4baf6 博主文章分类:知识积累 ©著作权
原理
如果一个数n是2的幂,那么一定是00100这种格式,且n-1的二进制为00011这种格式,如下
2的二进制为 0000 0010,(2-1)的二进制为 0000 0001
4的二进制为 0000 0100,(4-1)的二进制为 0000 0011
8的二进制为 0000 1000,(8-1)的二进制为 0000 0111
16的二进制为0001 0000,(16-1)的二进制为 0000 1111
所以若n为2的幂,则n和n-1做&运算,一定为0
代码如下
上一篇:Vmware Ubuntu 自适应屏幕 进入全屏模式
下一篇:ubuntu查看版本
C基础 面试
array[j]=array[j+1];...
面试---如何判断一个数是否为2的整数次幂
举报文章
请选择举报类型
补充说明
0/200
上传截图
格式支持JPEG/PNG/JPG,图片不超过1.9M