当前位置:编程学习 > JAVA >>

某个数是2的N次方

 

最近在框架中有一个判断,使用的是位判断,据说会快点,哦哈哈。

结果,给出一个数33554432,我的妈啊,这是2的几次方啊,需要拿着计算器在那边计算吗?。

于是有一个想法,使用Java来判断这个数是N的M次方法

Java代码 

/**

 * 这里使用位的移动来计算2的N次方法

 *

 * @param value

 * @param shift

 * @return

 */ 

public static String toBinary(int value){ 

    char[] buf = new char[32]; 

    int charPos = 32; 

    int mask = 1; 

    do { 

        int index = value & mask; 

        buf[--charPos] = digits[index]; 

        value >>>= 1; 

    } while (value != 0); 

    return new String(buf, charPos, (32 - charPos)); 

 

这段代码来自于JDK的Integer.toBinaryString方法  

补充:软件开发 , Java ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,