Привет, я ожидаю, что значение «mask_inv» будет инвертированным значением «mask_int»
Вместо этого вывод: 11111111111111111111109836129268
Может кто-нибудь объяснить, почему и как я могу это исправить?
msb = 10
lsb = 2
#mask32 [lsb:msb] = [0]
#sli = mask32 [2:10]
#print (mask32)
mylist = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]
#create mask for the given field with lsb and msb
if msb != lsb:
for i in range (lsb, msb):
mylist [i] = 0
else:
mylist [msb] = 0
list.reverse(mylist)
mask_str = ''.join([str(elem) for elem in mylist])
mask_int = int(mask_str)
zero_32 = 2**32-1
print("%s"%"{:032b}".format(zero_32))
print (mask_int)
mask_inv = mask_int ^ zero_32
print (mask_inv)
#print("mask_inv: %s"%"{:032b}".format(mask_inv))