`

【java】判断一个数是不是2的N次方

    博客分类:
  • java
阅读更多
第一种方法,对N进行循环除以2.
	public boolean nCF(int n){
		boolean b = false;
		while(true){
			int j=n%2;
			n=n/2;
			if(j==1){
				b=false;
				break;
			}if(n==2){
				b=true;
				break;
			}
			
		}
		return b;
	}


第二种方法,算2的N次方数据,比较N,小于继续乘以2.等于的话就是2的N次方。大于的话就不是2的N次方。
	public boolean nCF2(int n){
		boolean b = false;
		int x = 2;
		while(true){
			if(x==n){
				b=true;
				break;
			}if(x<n){
				x=2*x;
			}else{
				b=false;
				break;
			}
		}
		return b;
	}



第三种方法,2的N次方。用二进制表示都是10,100,1000……
然后的话就有了第三种方法。
	public boolean nCF3(int n){
		boolean boo = true;
		String s = Integer.toBinaryString(n);
		byte[] b = s.getBytes();


		for(int i=1;i<b.length;i++){
			if(b[i]!=48){
				boo = false;
				break;
			}
		}
		return boo;
		
	}
分享到:
评论
3 楼 zesky20075392 2014-04-16  
private static boolean isPowerOfTwo(int val) {
        return (val & -val) == val;
    }
2 楼 duduli 2012-08-02  
yaven 写道
dudu, 让你用移位和log,你不用

请贴代码。。。     
1 楼 yaven 2012-08-02  
dudu, 让你用移位和log,你不用

相关推荐

    Java面试 Java超级经典100问题 Java高级开发工程师必备 Java面试宝典

    判断一个栈是否是另一个栈的弹出序列23.层序遍历二叉树。24.后序遍历二叉搜索树。25.二叉树中和为某值的路径.26.复杂链表的复制27.二叉搜索树转换为双向链表.28.打印字符串中所有字符的排列29.数组中出现次数超过...

    java范例开发大全源代码

     实例22 求n的n次方 35  实例23 利用for循环输出几何图形 36  实例24 杨辉三角 38  3.3 while语句 39  实例25 求1到100之间的和 39  实例26 存上100元需要多少天 40  实例27 输出100之间的所有...

    java范例开发大全

    实例22 求n的n次方 35 实例23 利用for循环输出几何图形 36 实例24 杨辉三角 38 3.3 while语句 39 实例25 求1到100之间的和 39 实例26 存上100元需要多少天 40 实例27 输出100之间的所有偶数 41 实例28 如何判断回文...

    Java范例开发大全 (源程序)

     实例22 求n的n次方 35  实例23 利用for循环输出几何图形 36  实例24 杨辉三角 38  3.3 while语句 39  实例25 求1到100之间的和 39  实例26 存上100元需要多少天 40  实例27 输出100之间的所有偶数 41 ...

    Java范例开发大全(全书源程序)

    实例22 求n的n次方 35 实例23 利用for循环输出几何图形 36 实例24 杨辉三角 38 3.3 while语句 39 实例25 求1到100之间的和 39 实例26 存上100元需要多少天 40 实例27 输出100之间的所有偶数 41 实例28 如何...

    java范例开发大全(pdf&源码)

    实例22 求n的n次方 35 实例23 利用for循环输出几何图形 36 实例24 杨辉三角 38 3.3 while语句 39 实例25 求1到100之间的和 39 实例26 存上100元需要多少天 40 实例27 输出100之间的所有偶数 41 实例28 如何判断回文...

    完整学习笔记:《剑指offer》Java版代码实现

    目录 题号 题目及题解 测试示例 ...第二十二题 判断一个栈是否是另一个栈的弹出序列 测试22 第三十三题 层序遍历二叉树 测试23 第二十四题 后序遍历二叉搜索树 测试24 第二十五题 二叉树中和为某值的路径

    java基础,笔记03

    1 1+1 2+1 2 2 + 1 2 2 2 + 1 2 2 2 2 +1 2的5次方 1 +2+ 4+ 8+ 16 + 32 63 负的十进制的 1 128 &gt;负的二进制数 1 取绝对值 1 128 2 转换为二进制 000001 00000010000000 一共32位 3 ...

    国信蓝桥试题算法

    一个N位的十进制正整数,如果它的每个位上的数字的N次方的和等于这个数本身,则称其为花朵数。 例如: 当N=3时,153就满足条件,因为 1^3 + 5^3 + 3^3 = 153,这样的数字也被称为水仙花数(其中,“^”表示乘方,5^3...

    〖程序设计基础〗练习题2及答案

    3.下面是一个Java Application 的主类的定义,其功能是输出所有命令行参数。 import java.io.*; public class MyClass { public static void main(String args[ ]) { if( args.length !=___) for(int i=0; i ; i++)...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    2. oracle11G自带一个卸载批处理\app\Administrator\product\11.2.0\dbhome_1\deinstall\deinstall.bat 3. 运行该批处理程序将自动完成oracle卸载工作,最后手动删除\app文件夹(可能需要重启才能删除) 4. 运行...

Global site tag (gtag.js) - Google Analytics