**(HackerRank) Write a Modular C Programming code to solve Right most set bit, Given a non-negative number find the position of the right – most set bit (1)**

Given a non-negative number find the position of the right – most set bit (1) in the binary representation of the number.

**Input Format**

First line contains a non-negative number.

**Constraints**

N>0 and N<= (2^31-1)

**Output Format**

Display the bit number, where the right most set bit is found in a single line.

**Sample Input 0**

```
8
```

**Sample Output 0**

```
3
```

**Explanation 0**

```
8 in binary representation is 1000. We clearly see that the set bit from RHS is at position 3. (right most bit is at position 0.)
3 2 1 0 -----> Bit position
1 0 0 0 -----> The bits
```

**Sample Input 1**

```
-9
```

**Sample Output 1**

`Invalid`

**CODE:**

#include<stdio.h> #include<stdlib.h> #include<string.h> #include<math.h> int main() { int n,b; scanf("%d",&n); if(n>0) { int i=0; while(n!=0) { b=(n%2)*pow(10,i); if(n%2==1) break; n=n/2; i++; } printf("%d",i); } else{ printf("Invalid"); } return 0; }

**OUTPUT**

Congratulations, you passed the sample test case. Click the Submit Code button to run your code against all the test cases. Input (stdin) 8 Your Output (stdout) 3 Expected Output 3

**Please find some more codes of Loops, Condition Statements, 1D Arrays, 2D Arrays, Strings, Pointers, Data Structures, Files, Linked lists, Stacks, Queues, Binary Trees, MISC, Solved model question papers & Hacker Rank all solutions on the below page:**