A bit manipulation readability enhancement library.
Determines if only the lowest bit and one other higher bit are set.
public static bool AreOnlyFirstAndLastBitsSet(this ulong number);
number
System.UInt64
The number to evaluate.
System.Boolean true if the bitwise representation follows this pattern: 0b10..01. with any number of intervening zeros.
ulong v = 0b0001;
Console.WriteLine($"{v.AreOnlyFirstAndLastBitsSet()}"); // outputs: True
v = 0b0011;
Console.WriteLine($"{v.AreOnlyFirstAndLastBitsSet()}"); // outputs: True
v = 0b0101;
Console.WriteLine($"{v.AreOnlyFirstAndLastBitsSet()}"); // outputs: True
v = 0b0111;
Console.WriteLine($"{v.AreOnlyFirstAndLastBitsSet()}"); // outputs: False