Print ‘K’th least significant bit of a number

A number N is given. We need to print its ‘K’th Least Significant Bit.

Examples :

Input : num = 10, k = 4 
Output : 1
Explanation : Binary Representation 
of 10 is 1010. 4th LSB is 1.

Input : num = 16, k = 3
Output : 0
Explanation : Binary Representation 
of 16 is 10000. 3rd LSB is 0.

We can easily solve this problem by following steps :

  1. Shift the number ‘1’ (K-1) times left.
  2. This will yield a number with all unset bits but the ‘K’th bit. Now, we’ll perform logical AND of the shifted number with given number.
  3. All bits except the ‘K’th bit will yield 0, and ‘K’th bit will depend on the number. This is because, 1 AND 1 is 1. 0 AND 1 is 0.

C++


[sourcecode language=”CPP”]
// CPP code to print ‘K’th LSB
#include <bits/stdc++.h>
using namespace std;

//Function returns 1 if set, 0 if not
bool LSB(int num, int K)
{
return (num & (1 << (K-1)));
}

//Driver code
int main()
{
int num = 10, K = 4;

//Function call
cout << LSB(num, K);

return 0;
}
[/sourcecode]

java


[sourcecode language=”Java”]

// java code to print ‘K’th LSB
import java .io.*;

class GFG {

// Function returns 1 if set, 0 if not
static boolean LSB(int num, int K)
{
boolean x = (num & (1 << (K-1))) != 0;
return (x);
}

// Driver code
public static void main(String[] args)
{
int num = 10, K = 4;

//Function call
if(LSB(num, K))
System.out.println("1") ;

else
System.out.println("0");
}
}

// This code is contributed by Anuj_67

[/sourcecode]

Python


[sourcecode language=”Python”]
# Python code to print ‘K’th LSB

# Function returns 1 if set, 0 if not
def LSB(num, K):
return bool(num & (1 << (K – 1) ))

# Driver code
num, k = 10, 4

res = LSB(num, k)
if res :
print 1
else:
print 0

#This code is contributed by Sachin Bisht
[/sourcecode]

C#


[sourcecode language=”Csharp”]
// C# code to print ‘K’th LSB
using System;

class GFG {

// Function returns 1 if set, 0 if not
static bool LSB(int num, int K)
{
bool x = (num & (1 << (K-1))) != 0;
return (x);
}

// Driver code
static void Main()
{
int num = 10, K = 4;

//Function call
if(LSB(num, K))
Console.Write("1") ;

else
Console.Write("0");
}
}

// This code is contributed by Anuj_67
[/sourcecode]

PHP


[sourcecode language=”php”]

<?php

// PHP code to print ‘K’th LSB

// Function returns 1 if set, 0 if not
function LSB($num, $K)
{
return ($num & (1 << ($K – 1)));
}

// Driver code
$num = 10;
$K = 4;

$r = LSB($num, $K);
if($r)
echo ‘1’;
else
echo ‘0’;

// This code is contributed by Ajit
?>

[/sourcecode]


Output :

1

This article is contributed by Rohit Thapliyal. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.



My Personal Notes arrow_drop_up

Improved By : jit_t, vt_m



Article Tags :
Practice Tags :


Be the First to upvote.


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.