最近在框架中有一個判斷,使用的是位判斷,據說會快點,哦哈哈。
結果,給出一個數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方法