# Find position of rightmost set bit in c#

Csharp program for Find position of rightmost set bit. Here problem description and explanation.

``````// Include namespace system
using System;
/*
Csharp Program for
Find position of rightmost set bit
*/
public class BitPosition
{
// Finding the right most active bit position
public void rightmostActiveBit(int 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
var result = (int)(Math.Log(n & -n) / Math.Log(2) + 1);
Console.WriteLine(" Number : " + n +
" Result : " + result);
}
public static void Main(String[] args)
{
// Test Cases
// 320 = Binary(101000000)
// (1000) = Binary(1111101000)
// (153) = Binary(10011001)
// (354) = Binary(101100010)
// 160 = Binary(10100000)
}
}``````

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.