I came across a bizarre situation while doing some large number division in python.
int(1012337203685477580 / 2) = 506168601842738816
and
int(1012337203685477580 >> 1) = 506168601842738790
Why is there a difference between the two approaches? int() appears to be at the least int64 because int(2^63 - 1) and 2^63 - 1 are the same values.