How to check whether the number has only first and last bits set in Python

1 Answer

0 votes
def is_only_first_and_last_bit_set(n): 
    return (((n - 1) & (n - 2)) == 0) 
  
  
n = 129
 
print(bin(n))
print(bin(n - 1))
print(bin(n - 2))
print(bin((n - 1) & (n - 2)))

if is_only_first_and_last_bit_set(n): 
    print("Yes") 
else: 
    print("No") 
 
 
 
'''
run:
 
0b10000001
0b10000000
0b1111111
0b0
Yes

'''

 



answered Mar 9, 2019 by avibootz
...