Class BitsInt


  • public final class BitsInt
    extends java.lang.Object
    Utilities for manipulating a bit pattern which are held in a 32 bit int.
    See Also:
    BitsLong
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static int access​(int bits, int start, int finish)
      Get the bits from start (inclusive) to finish (exclusive), leaving them aligned in the int.
      static int clear​(int bits, int bitIndex)
      Clear the bit specified.
      static int clear​(int bits, int start, int finish)
      Clear the bits specified.
      static boolean isSet​(int bits, int bitIndex)
      Test whether a bit is set
      static int mask​(int start, int finish)
      Create a mask that has ones between bit positions start (inc) and finish (exc), and zeros elsewhere.
      static int maskZero​(int start, int finish)
      Create a mask that has zeros between bit positions start (inc) and finish (exc), and ones elsewhere
      static int pack​(int bits, int value, int start, int finish)
      Place the value into the bit pattern between start and finish and returns the new int.
      static int set​(int bits, int bitIndex)
      Set the bits specified.
      static int set​(int bits, int start, int finish)
      Set the bits from start (inc) to finish (exc) to one
      static boolean test​(int bits, boolean isSet, int bitIndex)
      Test whether a bit is the same as isSet
      static boolean test​(int bits, int value, int start, int finish)
      Test whether a range has a specific value or not
      static int unpack​(int bits, int start, int finish)
      Extract the value packed into bits start (inclusive) and finish (exclusive).
      static int unpack​(java.lang.String str, int startChar, int finishChar)
      Get bits from a hex string.
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Method Detail

      • unpack

        public static final int unpack​(int bits,
                                       int start,
                                       int finish)
        Extract the value packed into bits start (inclusive) and finish (exclusive). The value is returned in the low part of the returned int. The low bit is bit zero.
        Parameters:
        bits -
        start -
        finish -
        Returns:
        int
      • pack

        public static final int pack​(int bits,
                                     int value,
                                     int start,
                                     int finish)
        Place the value into the bit pattern between start and finish and returns the new int. Leaves other bits alone.
        Parameters:
        bits -
        value -
        start -
        finish -
        Returns:
        int
      • unpack

        public static final int unpack​(java.lang.String str,
                                       int startChar,
                                       int finishChar)
        Get bits from a hex string.
        Parameters:
        str -
        startChar - Index of first character (counted from the left, string style).
        finishChar - Index after the last character (counted from the left, string style).
        Returns:
        int
        See Also:
        access(int, int, int)
      • set

        public static final int set​(int bits,
                                    int bitIndex)
        Set the bits specified.
        Parameters:
        bits - Pattern
        bitIndex -
        Returns:
        Modified pattern
      • set

        public static final int set​(int bits,
                                    int start,
                                    int finish)
        Set the bits from start (inc) to finish (exc) to one
        Parameters:
        bits - Pattern
        start - start (inclusive)
        finish - finish (exclusive)
        Returns:
        Modified pattern
      • test

        public static final boolean test​(int bits,
                                         boolean isSet,
                                         int bitIndex)
        Test whether a bit is the same as isSet
        Parameters:
        bits - Pattern
        isSet - Test whether is set or not.
        bitIndex - Bit index
        Returns:
        Boolean
      • isSet

        public static final boolean isSet​(int bits,
                                          int bitIndex)
        Test whether a bit is set
        Parameters:
        bits - Pattern
        bitIndex - Bit index
        Returns:
        Boolean
      • test

        public static final boolean test​(int bits,
                                         int value,
                                         int start,
                                         int finish)
        Test whether a range has a specific value or not
        Parameters:
        bits - Pattern
        value - Value to test for
        start - start (inclusive)
        finish - finish (exclusive)
        Returns:
        Boolean
      • access

        public static final int access​(int bits,
                                       int start,
                                       int finish)
        Get the bits from start (inclusive) to finish (exclusive), leaving them aligned in the int. See also unpack, returns the value found at that place.
        Parameters:
        bits -
        start -
        finish -
        Returns:
        int
        See Also:
        unpack(int, int, int)
      • clear

        public static final int clear​(int bits,
                                      int bitIndex)
        Clear the bit specified.
        Parameters:
        bits -
        bitIndex -
        Returns:
        int
      • clear

        public static final int clear​(int bits,
                                      int start,
                                      int finish)
        Clear the bits specified.
        Parameters:
        bits -
        start -
        finish -
        Returns:
        int
      • mask

        public static final int mask​(int start,
                                     int finish)
        Create a mask that has ones between bit positions start (inc) and finish (exc), and zeros elsewhere.
        Parameters:
        start -
        finish -
        Returns:
        int
      • maskZero

        public static final int maskZero​(int start,
                                         int finish)
        Create a mask that has zeros between bit positions start (inc) and finish (exc), and ones elsewhere
        Parameters:
        start -
        finish -
        Returns:
        int