How to check if all bits of a number are set in Python

2 Answers

0 votes
def is_all_bits_set(n): 
    return (n + 1) & n 
   
   
n = 15
print(bin(n))
print(bin(n + 1))
print(bin((n + 1) & n))
if (is_all_bits_set(n) == 0) :
    print("Yes")
else:        
    print("No");

 
n = 13
print(bin(n))
print(bin(n + 1))
print(bin((n + 1) & n))
if (is_all_bits_set(n) == 0) :
    print("Yes")
else:        
    print("No");


 
'''
run:
 
0b1111
0b10000
0b0
Yes
0b1101
0b1110
0b1100
No

'''

 



answered Mar 7, 2019 by avibootz
0 votes
def is_all_bits_set(n): 
    while (n > 0) : 
        if ((n & 1) == 0) :
            return 0
        n = n >> 1
 
    return 1
    
    
n = 15
print(bin(n))
if (is_all_bits_set(n)) :
    print("Yes")
else:        
    print("No");
 
  
n = 13
print(bin(n))
if (is_all_bits_set(n)) :
    print("Yes")
else:        
    print("No");
 
 
  
'''
run:
  
0b1111
Yes
0b1101
No
 
'''

 



answered Mar 7, 2019 by avibootz
edited Mar 7, 2019 by avibootz

Related questions

1 answer 122 views
1 answer 124 views
1 answer 212 views
2 answers 215 views
2 answers 222 views
2 answers 184 views
2 answers 186 views
...