Class Bits

java.lang.Object
uk.ac.starlink.ttools.func.Bits

public class Bits extends 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

    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
    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 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 Details

    • 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 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(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