ph-math/src/main/java/com/helger/numbercruncher/mathutils/IEEE754.java
private void _decompose (final char [] bits,
                           final int bias,
                           final int reserved,
                           final int signIndex,
                           final int signSize,
                           final int exponentIndex,
                           final int exponentSize,
                           final int fractionIndex,
                           final int fractionSize)
  {
    this.m_nBias = bias;

    // Extract the individual parts as strings of '0' and '1'.
    m_sSignBit = new String (bits, signIndex, signSize);
    m_sExponentBits = new String (bits, exponentIndex, exponentSize);
    m_sFractionBits = new String (bits, fractionIndex, fractionSize);

    try
    {
      m_nBiased = Integer.parseInt (m_sExponentBits, 2);
      m_nFraction = Long.parseLong (m_sFractionBits, 2);
    }
    catch (final NumberFormatException ex)
    {}

    m_bIsZero = (m_nBiased == 0) && (m_nFraction == 0);
    m_bIsDenormalized = (m_nBiased == 0) && (m_nFraction != 0);
    m_bIsReserved = (m_nBiased == reserved);

    m_sImpliedBit = m_bIsDenormalized || m_bIsZero || m_bIsReserved ? "0" : "1";
  }
private void _decompose (final char [] bits,
                           final int bias,
                           final int reserved,
                           final int signIndex,
                           final int signSize,
                           final int exponentIndex,
                           final int exponentSize,
                           final int fractionIndex,
                           final int fractionSize)
  {
    this.m_nBias = bias;

    // Extract the individual parts as strings of '0' and '1'.
    m_sSignBit = new String (bits, signIndex, signSize);
    m_sExponentBits = new String (bits, exponentIndex, exponentSize);
    m_sFractionBits = new String (bits, fractionIndex, fractionSize);

    try
    {
      m_nBiased = Integer.parseInt (m_sExponentBits, 2);
      m_nFraction = Long.parseLong (m_sFractionBits, 2);
    }
    catch (final NumberFormatException ex)
    {}

    m_bIsZero = (m_nBiased == 0) && (m_nFraction == 0);
    m_bIsDenormalized = (m_nBiased == 0) && (m_nFraction != 0);
    m_bIsReserved = (m_nBiased == reserved);

    m_sImpliedBit = m_bIsDenormalized || m_bIsZero || m_bIsReserved ? "0" : "1";
  }
private void _decompose ( final char [ ] bits , final int bias , final int reserved , final int signIndex , final int signSize , final int exponentIndex , final int exponentSize , final int fractionIndex , final int fractionSize ) { this . m_nBias = bias ; // Extract the individual parts as strings of '0' and '1'. m_sSignBit = new String ( bits , signIndex , signSize ) ; m_sExponentBits = new String ( bits , exponentIndex , exponentSize ) ; m_sFractionBits = new String ( bits , fractionIndex , fractionSize ) ; try { m_nBiased = Integer . parseInt ( m_sExponentBits , 2 ) ; m_nFraction = Long . parseLong ( m_sFractionBits , 2 ) ; } catch ( final NumberFormatException ex ) { } m_bIsZero = ( m_nBiased == 0 ) && ( m_nFraction == 0 ) ; m_bIsDenormalized = ( m_nBiased == 0 ) && ( m_nFraction != 0 ) ; m_bIsReserved = ( m_nBiased == reserved ) ; m_sImpliedBit = m_bIsDenormalized || m_bIsZero || m_bIsReserved ? "0" : "1" ; }
Decompose a floating-point value into its parts.

@param bits
the character array of '0' and '1' that represents the value in base
2
@param bias
the exponent bias value
@param reserved
the reserved exponent value (other than 0)
@param signIndex
the index of the sign bit
@param signSize
the size of the sign bit
@param exponentIndex
the index of the exponent
@param exponentSize
the size of the exponent
@param fractionIndex
the index of the fraction
@param fractionSize
the size of the fraction
Decompose a floating - point value into its parts .