0
点赞
收藏
分享

微信扫一扫

(4)一条语句判断 一个整数是不是2的整数次方

拾杨梅记 2022-05-06 阅读 78

转换为:一个二进制中多少个1

if(((N-1)&N)==0)
{System.out.println("yes");}
else
	System.out.println("no");

非2的整数次方:

2110101
21减110100
&运算00000

2的整数次方:特征 只有最高位为1

1610000
16减101111
&运算00000

完整:

import java.util.Scanner;
public class a {
	public static void main(String[] args) {
		Scanner sc =new Scanner(System.in);
		int N=sc.nextInt();
		System.out.println(Integer.toString(N, 2));
		if(((N-1)&N)==0)
		{			System.out.println("yes");		}
		else
			System.out.println("no");
	}
}
举报

相关推荐

0 条评论