算法:判断一个整数是不是2的阶次方
一、思路
核心:不断除以2,缩小判断的范围
判断整数除以2的余数是否为0,如果不为0,则直接返回false;如果为0,则将将整数除以2后重复本步骤。
注意: 1为2的0次幂。
二、代码
public class NumberCheckTest {public static void main(String[] args) {System.out.println(numberCheck(0));System.out.println(numberCheck(1));System.out.println(numberCheck(2));System.out.println(numberCheck(3));System.out.println(numberCheck(4));System.out.println(numberCheck(6));}public static boolean numberCheck(int number) {//判断标志boolean flag = true;if (number == 0) {return false;}while (number > 1) {if (number % 2 == 0) {number = number / 2;} else {flag = false;break;}}return flag;}}