How to extract N bits from a given position in a number with Java

1 Answer

0 votes
public class MyClass {
    private static int extract_bits(int number, int N, int pos) {
	    return ( ((1 << N) - 1) & (number >> (pos - 1)) );
    }
    
    public static void main(String args[]) {
        int number = 441; // 000000-011011-1001
	    int N = 6;
	    int pos = 5;

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

	    int extracted_bits = extract_bits(number, N, pos);

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





/*
run:
    
0000000110111001
0000000000011011
    
*/

 



answered Dec 22, 2023 by avibootz

Related questions

1 answer 115 views
1 answer 106 views
1 answer 114 views
2 answers 125 views
1 answer 102 views
...