Jcd.BitManipulation

A bit manipulation readability enhancement library.

Jcd.BitManipulation

Jcd.BitManipulation.Algorithms

UInt64AlgorithmsExtensions Class

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

public static class UInt64AlgorithmsExtensions

Inheritance System.Object đŸ¡’ UInt64AlgorithmsExtensions

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