用一條語句判斷一個整數是不是2的整數次方
阿新 • • 發佈:2021-10-23
package 判斷一個整數是不是2的整數次方; import java.util.Scanner; /** * @author 鄧雪松 (づ ̄ 3 ̄)づ) * @create 2021-10-23-16-28 * 問題: * 用一條語句判斷一個整數是不是2的整數次方 * 思路:想2的整數次方-》2進位制形式的特點 * 特點是:二進位制的某一位上是1,其餘位為0,也就是它的二進位制中只有一個1 * 問題轉換為:一個整數的二進位制中是不是隻有一個1 * 其實結合上一題想還需要,看例二,用到的公式是:(x-1)&x會消掉最低位的1 */ public class Demo { public static void main(String[] args) { System.out.println("親,請輸入一個整數,讓我來判斷是不是2的整數次冪~:"); Scanner scanner = new Scanner(System.in); int x = scanner.nextInt(); if(((x-1)&x)==0){ System.out.println("你輸入的是2的整數次冪~"); }else{ System.out.println("你輸入的不是2的整數次冪~"); } } }