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 .