位運算-判斷一個數是否為2的整數次方

蠕動的二哈發表於2018-08-15

1. 問題描述:是不是2的整數次方:用一條語句判斷一個整數是不是2的整數次方

2. 思路分析:2的整數次方對應的二進位制的最高位上只有一個1,那麼將該數字減去1再與該數字進行與運算,如果是2的整數次方,那麼結果一定為0

下面是程式碼實現:

import java.util.Scanner;
public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		if(((n-1)&n)==0){
			System.out.println("是2的整數次方");
		}else{
			System.out.println("不是2的整數次方");
		}	
	}
}

 

相關文章