How to check whether the number has only first and last bits set in Java

1 Answer

0 votes
public class MyClass {
    static boolean is_only_first_and_last_bit_set(int n) { 
        return (((n - 1) & (n - 2)) == 0); 
    }  
    public static void main(String args[]) {
        int n = 129;
 
        System.out.println(Integer.toBinaryString(n)); 
        System.out.println(Integer.toBinaryString(n - 1)); 
        System.out.println(Integer.toBinaryString(n - 2)); 
        System.out.println(Integer.toBinaryString((n - 1) & (n - 2))); 
 
        if (is_only_first_and_last_bit_set(n)) 
            System.out.println("Yes\n"); 
        else
            System.out.println("No\n"); 
    }
}
  
  
  
/*
run:
  
10000001
10000000
1111111
0
Yes

 



answered Mar 9, 2019 by avibootz
edited Jul 15, 2022 by avibootz
...