2025-05-24

 

最近在框架中有一個判斷,使用的是位判斷,據說會快點,哦哈哈。

結果,給出一個數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方法  

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *