如何找到一个大于等于n的2的幂次方的数
Posted 泡^泡
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何找到一个大于等于n的2的幂次方的数相关的知识,希望对你有一定的参考价值。
package com;
/**
* 如何找到一个大于等于n的2的幂次方的数
*/
public class Power2Test
public static void main(String[] args)
System.out.println(computeUpperPower2(9));
private static final int MAXIMUM_CAPACITY = 1 << 30;
public static final int computeUpperPower2(int val)
int n = val - 1;
n |= n >>> 1;
n |= n >>> 2;
n |= n >>> 4;
n |= n >>> 8;
n |= n >>> 16;
return (n < 0) ? 1 : (n >= MAXIMUM_CAPACITY) ? MAXIMUM_CAPACITY : n + 1;
以上是关于如何找到一个大于等于n的2的幂次方的数的主要内容,如果未能解决你的问题,请参考以下文章