Jcd.BitManipulation

A bit manipulation readability enhancement library.

Jcd.BitManipulation

Jcd.BitManipulation.Algorithms

Int64AlgorithmsExtensions Class

Provides bit counting and other niche bit manipulation facilities for System.Int64 values.

public static class Int64AlgorithmsExtensions

Inheritance System.Object đŸ¡’ Int64AlgorithmsExtensions

Methods  
AreOnlyFirstAndLastBitsSet(this long) Determines if only the lowest bit and one other higher bit are set.
CountBitsSet(this long) Counts the bits that are set to 1 in a number.
CountLeadingZeros(this long) Computes the number of sequentially zeroed bits occupying the most significant bit positions.
CountTrailingZeros(this long) Computes the number of sequentially zeroed bits occupying the least significant bit positions.
GetHighestBitSet(this long) Calculate the index of the highest bit that’s been set.
GetLowestBitSet(this long) Calculate the index of the lowest bit that’s been set.
GetSign(this long) Returns a value indicating the sign of the number.
IsEven(this long) Determines if the number is odd.
IsNegative(this long) Indicates if the number is negative.
IsOdd(this long) Determines if the number is odd.
IsPositive(this long) Indicates if the number is zero or positive.
IsPowerOfTwo(this long) Determines if the number is a power of two.
PopCount(this long) Counts the bits that are set to 1 in a number.
RotateLeft(this long, int) Performs a bitwise left rotation on a number.
RotateRight(this long, int) Performs a bitwise right rotation on a number.
RoundUpToPowerOfTwo(this long) 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.)