def gen_bit_values(number):
    """
	Return a zero or one for each bit of a numeric value up to the most
	significant 1 bit, beginning with the least significant bit.
	"""
    while number:
        yield number & 1
        number >>= 1
