title: Decompose a float into mantissa and exponent in base 10 without strings
body: <p>Are there functions in the Python library or numpy that take a float as input and return its decimal scientific notation decomposition, i.e. mantissa and exponent? Or is there a BRIEF way to accomplish this without resorting to string conversions or using a for loop to determine the exponent? Writing such a function wouldn't be difficult, I'm just shocked that I'm having trouble finding an existing one in math, decimal or numpy.</p>
  
  <p>e.g. if <code>fexp</code> and <code>fman</code> are the functions giving the exponent and mantissa of the decimal floating point representation of a float then we'd expect the following statements to all return true:</p>
  
  <pre><code>fexp(154.3) == 2.0
  fman(154.3) == 1.543
  fexp(-1000) == 3.0
  fman(-1000) == -1.0
  </code></pre>
  
  <p>In short, this would be a "decimal version" of <code>math.frexp</code>.</p>