Jcd.BitManipulation

A bit manipulation readability enhancement library.

Jcd.BitManipulation

Jcd.BitManipulation.Algorithms

Int32AlgorithmsExtensions Class

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.)