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

1 Answer

0 votes
using System;

public class myProgram
{
	private static int extract_bits(int number, int N, int pos) {
		return (((1 << N) - 1) & (number >> (pos - 1)));
	}

	public static void Main()
	{
		int number = 441; // 000000-011011-1001
		int N = 6;
		int pos = 5;

		Console.WriteLine(Convert.ToString(number, 2).PadLeft(16, '0'));

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

		Console.WriteLine(Convert.ToString(extracted_bits, 2).PadLeft(16, '0'));
	}
}




/*
run:
     
0000000110111001
0000000000011011
     
*/

 



answered Dec 22, 2023 by avibootz

Related questions

...