Class Bits


  • public class Bits
    extends java.lang.Object
    Bit manipulation functions.

    Note that for bitwise AND, OR, XOR of integer values etc you can use the java bitwise operators "&", "|", "^".

    Since:
    4 Apr 2022
    Author:
    Mark Taylor
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static int bitCount​(long i)
      Returns the number of set bits in the 64-bit two's complement representation of the integer argument.
      static int fromBinary​(java.lang.String binVal)
      Converts a string representing a binary number to its integer value.
      static boolean hasBit​(long value, int bitIndex)
      Determines whether a given integer has a certain bit set to 1.
      static java.lang.String toBinary​(long value)
      Converts the integer argument to a binary string consisting only of 1s and 0s.
      • Methods inherited from class java.lang.Object

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

      • hasBit

        public static boolean hasBit​(long value,
                                     int bitIndex)
        Determines whether a given integer has a certain bit set to 1.
        Parameters:
        value - integer whose bits are to be tested
        bitIndex - index of bit to be tested in range 0..63, where 0 is the least significant bit
        Returns:
        true if bit is set; more or less equivalent to (value & 1L<<bitIndex) != 0
        Examples:
        hasBit(64, 6) = true, hasBit(63, 6) = false
      • bitCount

        public static int bitCount​(long i)
        Returns the number of set bits in the 64-bit two's complement representation of the integer argument.
        Parameters:
        i - integer value
        Returns:
        number of "1" bits in the binary representation of i
        Examples:
        bitCount(64) = 1, bitCount(3) = 2
      • toBinary

        public static java.lang.String toBinary​(long value)
        Converts the integer argument to a binary string consisting only of 1s and 0s.
        Parameters:
        value - integer value
        Returns:
        binary representation of value
        Examples:
        toBinary(42) = "101010", toBinary(255^7) = "11111000"
      • fromBinary

        public static int fromBinary​(java.lang.String binVal)
        Converts a string representing a binary number to its integer value.
        Parameters:
        binVal - binary representation of value
        Returns:
        integer value represented by binary string binVal
        Examples:
        fromBinary("101010") = 42