def hamming_distance(i, j):
    """
    Return the hamming distance between the two given pythonic integers, or the
    number of places where the bits differ.

    **Note:** *We say "pythonic" integer here because this function has no cap
    on the number of bits used to represent said integer. This function will
    execute correctly regardless whether i/j is 32 bits or 512 bits, etc."

    :param i: First integer.
    :type i: int | long
    :param j: Second integer.
    :type j: int | long

    :return: Integer hamming distance between the two values.
    :rtype: int | long

    """
    return bin(i ^ j).count('1')
