title: pow() raising to floats
body: <p>Why does raising to an integer expressed as a floating point number give different results to raising the same number in its integer form?</p>
  
  <p>E.g.:</p>
  
  <pre><code>&gt;&gt;&gt; pow(10,25)%195
  10L
  &gt;&gt;&gt; pow(10,25.0)%195
  64.0
  </code></pre>
  
  <p>I've tried using <a href="http://mpmath.googlecode.com/svn/trunk/doc/build/functions/powers.html#power" rel="noreferrer">mpmath's <code>power()</code></a> instead, but get the exact same numbers - and error - as the second form.</p>
  
  <p>How can I raise to very large non-integer powers and perform mod on them (e.g. steps taken to perform RSA-like logic using pure math) in Python?</p>