How to extract the last N bits of a 32-bit integer in Java

1 Answer

0 votes
public class MyClass {
    private static int get_last_N_bits(int number, int N) {
	    int mask = (1 << N) - 1;
        
        return number & mask;
    }
    
    public static void main(String args[]) {
        int number = 441; // 00000001101-11001
	    int N = 5;

	    System.out.println(String.format("%16s", Integer.toBinaryString(number)).replaceAll(" ", "0"));

        int lastNbits = get_last_N_bits(number, N);

        System.out.println(String.format("%16s", Integer.toBinaryString(lastNbits)).replaceAll(" ", "0"));  
    }
}





/*
run:
    
0000000110111001
0000000000011001
    
*/

 



answered Dec 22, 2023 by avibootz
edited Dec 24, 2023 by avibootz

Related questions

1 answer 128 views
1 answer 125 views
1 answer 114 views
1 answer 141 views
1 answer 128 views
1 answer 121 views
1 answer 113 views
...