# Get the position of rightmost set bit of integer in python

Python program for Get the position of rightmost set bit of integer . Here more information.

import math
#  Python 3 Program for
#  Find position of rightmost set bit
class BitPosition :
#  Finding the right most active bit position
def rightmostActiveBit(self, n) :
if (n <= 0) :
return

#    Example
#    ———————
#    n    = 320
#    n    = (00101000000)   Binary
#    -n   = (11011000000)   (2s)
#    Calculate log2
#    ——————————————
#    Formula : log(n & -n) / log(2) + 1
#    -----------------------------------
#    log(320 & -320) / log(2) + 1)
#    Here : log(320 & -320) = log(64) = 4.158883
#           log(2)  = 0.693147
#    (4.158883 / 0.693147) + 1 = (7) position
#    ————————————————————————————————————————
#  Calculate rightmost active bits
result = int((math.log(n & -n) / math.log(2) + 1))
print(" Number : ", n ," Result : ", result)

def main() :
#  Test Cases
#  320 = Binary(101000000)
#  (1000) = Binary(1111101000)
#  (153) = Binary(10011001)
#  (354) = Binary(101100010)
#  160 = Binary(10100000)

if __name__ == "__main__": main()

Output

Number :  320  Result :  7
Number :  1000  Result :  4
Number :  153  Result :  1
Number :  354  Result :  2
Number :  160  Result :  6

## Comment

Please share your knowledge to improve code and content standard. Also submit your doubts, and test case. We improve by your feedback. We will try to resolve your query as soon as possible.