方法一 通过正则表达式限制该数字的二进制数以1开头,中间包含n个00,并以00结束 int num1 = 256; String nString =Integer.toBinaryString(num1); String regex = "^1(00)*$"; System.out.println(nString.matches(regex)); 方法二 通过位运算显示该数字大于0,该数字的二进制数只有首位数字是1,且1出现在奇数位上 int num2 = 128; boolean isPowerOfFour =num2>0 && (num2 & (num2-1))==0 && (num2 & 0xAAAAAAAA)==0; System.out.println(isPowerOfFour);
相关文章
- 判断一个整数x是否是2的N次方。
- 判断一个整数是否是2的n次方
- 如何判断一个数是否是2的N次方
- 判断一个整数是否是2的n次方
- 黑马基础阶段测试题:定义一个int类型的数组,数组中元素为{5,7,3,9,4}。求出数组中的最小值,并判断最小值是否为偶数,如果是偶数则输出“最小值为偶数”,如果不是偶数则输出“最小值为奇数”。打印如下:
- 判断一个无符号数是否是2的n次幂形式的数
- 求1000以内的水仙花数. 水仙花数是指一个 n 位数,它的每个位上的数字的 n 次幂之和等于它本身。(例如:1^3 + 5^3 + 3^3 = 153)
- 判断一个数是不是2的n次幂...
- 如何机智的判断一个整数是否是2的n次方幂
- 判断一个32非负整数是否是4的次幂,如果是,是4的多少次幂