title: Multiply Very Large Numbers Accurately in Python
body: <p>I am trying to multiply very large floats by very large integers in Python and am noticing small inaccuracies.
  For example:</p>
  
  <pre><code>a = 45310630.0
  b = 1023473145
  
  c = int(a * b)
  print(c)
  </code></pre>
  
  <p>The answer I am getting is 
  46374212988031352 but I know the answer should be 46374212988031350. When I change variable "a" to an integer, the multiplication is performed correctly. However, since "a" comes from a division (and might not be a whole number), I can't simply convert it to an integer.</p>