You could use bit shifting (>>) and bitwise AND (&):
In [10]: [(i >> x) & 0xFFFFFFFF for x in reversed(range(0, 128, 32))]
Out[10]: [4294967295, 4294967295, 4294967295, 4294967295]
where i is your integer. The resulting list will have 4 elements (because 128 / 32 is 4).
In your case the result is 4 equal numbers (4294967295, because 4294967295 is 0xFFFFFFFF in hex).
This works well for a known number of bits (32), but I'd rather use a helper function (following the same logic as above):
def split_bits(value, n):
''' Split `value` into a list of `n`-bit integers '''
mask, parts = (1 << n) - 1, []
parts = []
while value:
parts.append(value & mask)
value >>= n
parts.reverse()
return parts
In action:
In [14]: split_bits(0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, 32)
Out[14]: [4294967295, 4294967295, 4294967295, 4294967295]
In [15]: [format(i, 'X') for i in _] # show corresponding hex representations
Out[15]: ['FFFFFFFF', 'FFFFFFFF', 'FFFFFFFF', 'FFFFFFFF']
In [16]: split_bits(0b1000100110101011, 4)
Out[16]: [8, 9, 10, 11]
In [17]: [format(i, 'b') for i in _] # show corresponding binary representations
Out[17]: ['1000', '1001', '1010', '1011']
[0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF]? And are you declaringvarwith quotes?