code: public static int unpackGetExponentUnbiased(
      final float d)
    {
      final int b = Float.floatToRawIntBits(d);
      final int em = b & Binary32.MASK_EXPONENT;
      final int es = em >> 23;
      return es - Binary32.BIAS;
    }
docs: <p>
  Extract and unbias the exponent of the given packed {@code float}
  value.
  </p>
  <p>
  The exponent is encoded <i>biased</i> as a number in the range
  {@code [0, 255]}, with {@code 0} indicating that the number is
  <i>subnormal</i> and {@code [1, 254]} denoting the actual exponent
  plus {@link #BIAS}. Infinite and {@code NaN} values always have a
  biased exponent of {@code 255}.
  </p>
  <p>
  This function will therefore return:
  </p>
  <ul>
  <li>
  <code>0 - {@link #BIAS} = -127</code> iff the input is a <i>subnormal</i>
  number.</li>
  <li>An integer in the range
  <code>[1 - {@link #BIAS}, 254 - {@link #BIAS}] = [-126, 127]</code> iff
  the input is a <i>normal</i> number.</li>
  <li>
  <code>255 - {@link #BIAS} = 128</code> iff the input is
  {@link Float#POSITIVE_INFINITY}, {@link Float#NEGATIVE_INFINITY}, or
  {@code NaN}.</li>
  </ul>
  
  @param d A floating point value
  
  @return An unbiased exponent