A bit manipulation readability enhancement library.
For any given number return the number if it’s a power of two, or return the next higher power of two capable of fitting in the data type. For negative values or values that would result in a negative next higher power of two, zero is returned. (e.g. number > 2^(k-2) where k is the bit size.)
public static int RoundUpToPowerOfTwo(this int number);
number
System.Int32
The number to evaluate.
int v = 2;
Console.WriteLine($"{v.RoundUpToPowerOfTwo()}"); // outputs: 2
v = 3;
Console.WriteLine($"{v.RoundUpToPowerOfTwo()}"); // outputs: 4