【位運算】判斷一個數是否為2的n次方


 1 import java.util.Scanner;
 2 
 3 /**
 4  * 功能:用位運算,判斷一個數是否為2的n次方。
 5  * 思路:用1做移位操作,然后判斷移位后的值是否與給定的數相同。
 6  */
 7 public class Main3 {
 8 
 9     public boolean isPower(int n) {
10 
11         if (n < 1) {
12             return false;
13         }
14 
15         int m = 1;
16         while (m < n) {
17             m = m << 1;
18         }
19 
20         if (m == n) {
21             return true;
22         }
23 
24         return false;
25     }
26 
27     public static void main(String[] args) {
28 
29         Scanner scanner = new Scanner(System.in);
30         Main3 main3 = new Main3();
31 
32         while (scanner.hasNext()) {
33 
34             int n = scanner.nextInt();
35             System.out.println(main3.isPower(n));
36         }
37     }
38 }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM