如何判断一个数是否是4的幂
来源:互联网 发布:js中string转list 编辑:程序博客网 时间:2024/06/05 20:16
将4的幂次方写成二进制后会发现只有1个数字为1,且后面跟了偶数个0.比如4(100)、16(10000)、64(1000000)。
另外4的幂4^n可以认为成2^(2n)。因此在判断是可以先判断此数是否为2的幂,通过while循环(num&num-1==0)。
若满足条件,再判断num&0x55555555(一个16进制数,所有的奇数位都为1)来判断。代码如下:
//判断是否是4的幂
private bool four(int num){
if(num&(num-1))return false;
return num&0x55555555;
}
//判断是4的几次幂
private int log4(int num){
if(num==1)
return 0;
else{
int x = 0;
while(num>1){
num>>2;
x++;
}
}
return x;
}
阅读全文
0 1
- 如何判断一个数是否是4的幂
- 如何判断一个数是否是2的幂次方
- 如何判断一个数是否是NaN
- 如何判断一个数是否是质数
- 如何判断一个数是否是素数
- 如何判断一个数是否是2的n次方
- 如何判断一个数是否是2的N次方
- 如何判断一个数是否是2的幂次方数
- 如何判断一个正整数是否是4的幂?
- 如何判断一个数是4的整数次幂
- 如何判断一个数是否是完全平方数
- 判断一个数x是否是2的幂
- 判断一个数是否是2的N次幂
- 用php判断一个数是否是2的幂
- 判断一个数是否是2的整数次幂
- 判断一个整数是否是2的幂数
- 快速判断一个数是否是2的幂次方
- 判断一个数是否是2的幂
- 垃圾收集器与内存分配策略
- 647. Palindromic Substrings
- freeCalendar-自定义日历控件
- EXCEL排序 HDU
- //身份证改名字问题选择HashMap,key对应vaule
- 如何判断一个数是否是4的幂
- 【Docker】保存镜像、 容器到本地, 从本地加载镜像、 容器
- java遇见html---jsp(2)
- 【POJ
- ContenProvider数据内容提供者,增删改查
- 第一行代码 第10章 服务 -- 前台服务与IntentService
- 市场研究中的数据分析知识整理 (一)
- execve系统调用
- 《数据结构学习与实验指导》5-3:电话聊天狂人