title: Difference between floor function and floor division
body: <p>Why is the answer not same for the below operations, and also, since <code>//</code> is essentially floor division, then why is the output different when a floor function is used.</p>
  <p>I ran the following code:</p>
  <pre><code>import math
  x = 2**64 -1
  print(&quot;Original value:&quot;, x)
  print(&quot;Floor division:&quot;, x//1)
  print(&quot;Floor function:&quot;, math.floor(x/1))
  print(&quot;Trunc function:&quot;, math.trunc(x/1))
  print(&quot;Type conversion:&quot;, int((x/1)))
  </code></pre>
  <p>Output:</p>
  <pre><code>Original value: 18446744073709551615
  Floor division: 18446744073709551615
  Floor function: 18446744073709551616
  Trunc function: 18446744073709551616
  Type conversion: 18446744073709551616
  </code></pre>
  <p>Now, why is the answer not equal to the original value since all i did was divide by 1?</p>