# 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.
```

## Recommended: Please solve it on “PRACTICE” first, before moving on to the solution.

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++

 `// CPP code to print 'K'th LSB ` `#include ` `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 `

## 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 `

## 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

 ` `

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.