JTS Topology Suite - v 1.12

## com.vividsolutions.jts.index.quadtree
Class DoubleBits

    java.lang.Object
      com.vividsolutions.jts.index.quadtree.DoubleBits

    public class DoubleBits

extends java.lang.Object

DoubleBits manipulates Double numbers by using bit manipulation and bit-field extraction. For some operations (such as determining the exponent) this is more accurate than using mathematical operations (which suffer from round-off error).

The algorithms and constants in this class apply only to IEEE-754 double-precision floating point format.

Version:
  1.7

Field Summary
`static int` `EXPONENT_BIAS`

Constructor Summary
`DoubleBits(double x)`

Method Summary
`int` `biasedExponent()` Determines the exponent for the number
`static int` `exponent(double d)`
`int` `getBit(int i)`
`double` `getDouble()`
`int` `getExponent()` Determines the exponent for the number
`static double` `maximumCommonMantissa(double d1, double d2)`
`int` `numCommonMantissaBits(DoubleBits db)` This computes the number of common most-significant bits in the mantissa.
`static double` `powerOf2(int exp)`
`static java.lang.String` `toBinaryString(double d)`
`java.lang.String` `toString()` A representation of the Double bits formatted for easy readability
`static double` `truncateToPowerOfTwo(double d)`
`void` `zeroLowerBits(int nBits)`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Field Detail

### EXPONENT_BIAS

    public static final int EXPONENT_BIAS

See Also:
  Constant Field Values

Constructor Detail

### DoubleBits

    public DoubleBits(double x)

Method Detail

### powerOf2

    public static double powerOf2(int exp)

### exponent

    public static int exponent(double d)

### truncateToPowerOfTwo

    public static double truncateToPowerOfTwo(double d)

### toBinaryString

    public static java.lang.String toBinaryString(double d)

### maximumCommonMantissa

    public static double maximumCommonMantissa(double d1,
                                               double d2)

### getDouble

    public double getDouble()

### biasedExponent

    public int biasedExponent()

  Determines the exponent for the number

### getExponent

    public int getExponent()

  Determines the exponent for the number

### zeroLowerBits

    public void zeroLowerBits(int nBits)

### getBit

    public int getBit(int i)

### numCommonMantissaBits

    public int numCommonMantissaBits(DoubleBits db)

  This computes the number of common most-significant bits in the mantissa. It does not count the hidden bit, which is always 1. It does not determine whether the numbers have the same exponent - if they do not, the value computed by this function is meaningless.

  Parameters:
    `db` -
  Returns:
    the number of common most-significant mantissa bits

### toString

    public java.lang.String toString()

  A representation of the Double bits formatted for easy readability

  Overrides:
    `toString` in class `java.lang.Object`

JTS Topology Suite - v 1.12