`

判断是否2的阶次方数

 
阅读更多
8,64,256都是2的阶次方数(例8是2的3次方),用java编写程序,用两种方法来判断一个整数是不是2的阶次方数,并说明哪个方法更好。

查看复制到剪切板打印

return n==0 ? false : ((n-1)&n)==0;  


这句代码可以实现这个功能

如果是2的阶次方数!那么他一定是  2的二进制位  左移得到的!!

如果是2的阶次方数的话 二进制一定是这样的

1000000000

那么他的n-1  则是0111111111
然后进行与运算!如果是0则可以得出 是2的阶次方数!


类似的自己实现了 一个
public class TwoToMax {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub

		System.out.println(getMax(3,4));
	}
	public static  int getMax(int m,int n)
	{
		return (m-n)>>>31>0?n:m;
	}

}

找两个数最大的数!!
分享到:
评论

相关推荐

    【面向对象的程序设计c++】4 用两种方法判断一个数是不是2的阶次方数(方法一)

    作业题:4 用两种方法判断一个数是不是2的阶次方数 方法一: 该数除以2,得到商和余数,如果余数不为0,那这个数就不是2的整数次幂 否则再用商除以2,又得到商和余数,重复上面的操作,直到商为1, 当商为1,余数为0时,...

    【面向对象的程序设计c++】4 用两种方法判断一个数是不是2的阶次方数(方法二)

    // 作业题:4 用两种方法判断一个数是不是2的阶次方数 /* 方法二: 1 由2的n次方的“二进制” 只有 最高位是1 其余为0 例如(“8”的二进制为 “100”) 2 减1后 最高位为0 其余为1 (“7”的二进制为 "011") 3...

    模型阶次辨识(算例及matlab程序)

    一、 利用行列式比估计模型的阶次 2 二、 利用残差的方差估计模型的阶次 3 三、 利用Akaike准则估计模型的阶次 4 四、 利用最终预报误差准则估计模型的阶次 5 五、 根据Hankel矩阵的秩估计模型的阶次 7 附录1 利用...

    几个算法、技巧等等等等等

    在文档“判断一个数字是否为2的阶次方数.doc”中,可能介绍了如何使用位运算符(如位移操作符和>>,位与操作符&)来判断一个数字是否是2的幂,因为2的幂在二进制表示下只有一个1,其余位都是0。此外,还会探讨该问题...

    线形代数-行列式线形代数-行列式的有关公式

    它不仅可以用来判断方程组是否有唯一解,还可以用来求解一些具体的数学问题。行列式由一个正方形矩阵中的元素构成,并按照特定规则计算得到一个标量值。本章节主要介绍了几个典型例题,通过这些题目,我们可以更好地...

    电气自动化专升本自动控制仿真试题

    2. 图(a)、(b)的校正方法需根据校正前后系统的对数幅频特性曲线变化来判断。 3. 不同的校正方法能改善系统的相位裕度、幅值裕度、上升时间、超调量等性能指标。 这些知识点涵盖了自动控制理论的基础和应用,...

    福州大学有限元考试题借鉴.pdf

    - 完备性意味着试探函数至少是最高阶导数阶次的多项式。 - 高斯约当消去法将矩阵转化为对角矩阵,简化了计算。 - 结点编号影响刚度矩阵的半带宽。 - 高斯积分的精度与积分点数量的关系。 - 位移边界条件消除...

    电机振动噪声基础及仿真分析.pdf

    通过理解振动噪声的分类、产生机理以及对电磁力阶数、模态阶数和噪声阶次等概念的深入掌握,可以更有效地对电机进行设计和优化,实现噪声控制的目的,为电动汽车等电机应用领域提供更为平顺、安静的动力源。

    模拟电路华为讲义下

    - Nyquist稳定性判据:闭环系统稳定性的图形化判断方法。 #### 其他章节概览 - **第4章:电源管理** - 不间断电源(UPS)的工作原理。 - 直流变换器的设计考虑因素。 - **第7章:滤波器设计** - 滤波器的分类...

    python计算方程式根的方法

    判断所求得的根是否为实数,如果是,则转换为其实部。 4. 将求得的根添加到结果数组 `roots` 中。 5. 使用多项式消去更新多项式系数。 6. 重复以上步骤直至多项式的阶次降至零。 #### 进一步的讨论 - **数值...

Global site tag (gtag.js) - Google Analytics