Print 'K'th least significant bit of a number (original) (raw)
Last Updated : 15 Jul, 2022
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 :
- Shift the number '1' (K-1) times left.
- 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.
- 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++ `
// 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;}
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
Python3
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
C#
// 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
PHP
JavaScript
`
Output :
1
Time Complexity: O(1)
Auxiliary Space: O(1)