A bit manipulation readability enhancement library.
Provides bit counting and other niche bit manipulation facilities for System.Int32 values.
public static class Int32AlgorithmsExtensions
Inheritance System.Object đŸ¡’ Int32AlgorithmsExtensions
Methods | Â |
---|---|
AreOnlyFirstAndLastBitsSet(this int) | Determines if only the lowest bit and one other higher bit are set. |
CountBitsSet(this int) | Counts the bits that are set to 1 in a number. |
CountLeadingZeros(this int) | Computes the number of sequentially zeroed bits occupying the most significant bit positions. |
CountTrailingZeros(this int) | Computes the number of sequentially zeroed bits occupying the least significant bit positions. |
GetHighestBitSet(this int) | Calculate the index of the highest bit that’s been set. |
GetLowestBitSet(this int) | Calculate the index of the lowest bit that’s been set. |
GetSign(this int) | Returns a value indicating the sign of the number. |
IsEven(this int) | Determines if the number is odd. |
IsNegative(this int) | Indicates if the number is negative. |
IsOdd(this int) | Determines if the number is odd. |
IsPositive(this int) | Indicates if the number is zero or positive. |
IsPowerOfTwo(this int) | Determines if the number is a power of two. |
PopCount(this int) | Counts the bits that are set to 1 in a number. |
RotateLeft(this int, int) | Performs a bitwise left rotation on a number. |
RotateRight(this int, int) | Performs a bitwise right rotation on a number. |
RoundUpToPowerOfTwo(this int) | 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.) |