# Check whether K-th bit is set or not

Given a number n, check if k-th bit of n is set or not.

Examples:

```Input : n = 5, k = 1
Output : SET
5 is represented as 101 in binary
and has its first bit set.

Input : n = 2, k = 3
Output : NOT SET
2 is represented as 10 in binary,
all higher i.e. beyond MSB,
bits are NOT SET.
```

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

Method 1 (Using Left Shift Operator)
Below are simple steps to find value of k-th bit

```1) Left shift given number 1 by k-1 to create
a number that has only set bit as k-th bit.
temp = 1 << (k-1)
2) If bitwise AND of n and temp is non-zero,
then result is SET else result is NOT SET.
```

Example:

``` n = 75 and k = 4
temp = 1 << (k-1) = 1 << 3 = 8
Binary Representation of temp = 0..00001000
Binary Representation of n = 0..01001011
Since bitwise AND of n and temp is non-zero,
result is SET.```

## C++

 `// CPP program to check if k-th bit ` `// of a given number is set or not ` `#include ` `using` `namespace` `std; ` ` `  `void` `isKthBitSet(``int` `n, ``int` `k) ` `{ ` `    ``if` `(n & (1 << (k - 1))) ` `        ``cout << ``"SET"``; ` `    ``else` `        ``cout << ``"NOT SET"``; ` `} ` ` `  `// Driver code ` `int` `main() ` `{ ` `    ``int` `n = 5, k = 1; ` `    ``isKthBitSet(n, k); ` `    ``return` `0; ` `} `

## Java

 `// Java program to check if k-th bit ` `// of a given number is set or not ` ` `  `class` `Number { ` `    ``public` `static` `void` `isKthBitSet(``int` `n, ` `                                   ``int` `k) ` `    ``{ ` `        ``if` `((n & (``1` `<< (k - ``1``))) == ``1``) ` `            ``System.out.print(``"SET"``); ` `        ``else` `            ``System.out.print(``"NOT SET"``); ` `    ``} ` ` `  `    ``// driver code ` `    ``public` `static` `void` `main(String[] args) ` `    ``{ ` `        ``int` `n = ``5``, k = ``1``; ` `        ``isKthBitSet(n, k); ` `    ``} ` `} ` ` `  `// This code is contributed by rishabh_jain `

## Python3

 `# Python3 code to check if k-th bit ` `# of a given number is set or not ` ` `  `def` `isKthBitSet(n, k): ` `    ``if` `n & (``1` `<< (k ``-` `1``)): ` `        ``print``( ``"SET"``) ` `    ``else``: ` `        ``print``(``"NOT SET"``) ` ` `  `# Driver code ` `n ``=` `5` `k ``=` `1` `isKthBitSet(n, k) ` ` `  `# This code is contributed by "Sharad_Bhardwaj". `

## C#

 `// C# program to check if k-th bit ` `// of a given number is set or not. ` `using` `System; ` ` `  `class` `GFG { ` ` `  `    ``public` `static` `void` `isKthBitSet(``int` `n, ` `                                   ``int` `k) ` `    ``{ ` `        ``if` `((n & (1 << (k - 1))) == 1) ` `            ``Console.Write(``"SET"``); ` `        ``else` `            ``Console.Write(``"NOT SET"``); ` `    ``} ` ` `  `    ``// Driver code ` `    ``public` `static` `void` `Main() ` `    ``{ ` `        ``int` `n = 5, k = 1; ` ` `  `        ``isKthBitSet(n, k); ` `    ``} ` `} ` ` `  `// This code is contributed by nitin mittal. `

## PHP

 ` `

Output:

```SET
```

Method 2 (Using Right Shift Operator)
If we right shift n by k-1, we get last bit as 1 if k-th bit is set else 0.

## C++

 `// CPP program to check if k-th bit ` `// of a given number is set or not using ` `// right shift operator. ` `#include ` `using` `namespace` `std; ` ` `  `void` `isKthBitSet(``int` `n, ``int` `k) ` `{ ` `    ``if` `((n >> (k - 1)) & 1) ` `        ``cout << ``"SET"``; ` `    ``else` `        ``cout << ``"NOT SET"``; ` `} ` ` `  `// Driver code ` `int` `main() ` `{ ` `    ``int` `n = 5, k = 1; ` `    ``isKthBitSet(n, k); ` `    ``return` `0; ` `} `

## Java

 `// Java program to check if  ` `// k-th bit of a given number  ` `// is set or not using right  ` `// shift operator. ` `import` `java.io.*; ` ` `  `class` `GFG  ` `{ ` `static` `void` `isKthBitSet(``int` `n,  ` `                        ``int` `k) ` `{ ` `    ``if` `(((n >> (k - ``1``)) & ` `               ``1``) == ``1``) ` `        ``System.out.println(``"SET"``); ` `    ``else` `        ``System.out.println(``"NOT SET"``); ` `} ` ` `  `// Driver code ` `public` `static` `void` `main (String[] args)  ` `{ ` `    ``int` `n = ``5``, k = ``1``; ` `    ``isKthBitSet(n, k); ` `} ` `} ` ` `  `// This code is contributed ` `// by ajit `

## Python3

 `# PHP program to check if k-th bit of  ` `# a given number is set or not using ` `# right shift operator.  ` ` `  `def` `isKthBitSet(n, k):  ` `    ``if` `((n >> (k ``-` `1``)) ``and` `1``): ` `        ``print``(``"SET"``) ` `    ``else``: ` `        ``print``(``"NOT SET"``)  ` ` `  `# Driver code  ` `n, k ``=` `5``, ``1` `isKthBitSet(n, k)  ` ` `  `# This code contributed by  ` `# PrinciRaj1992 `

## C#

 `// C# program to check if  ` `// k-th bit of a given number  ` `// is set or not using right  ` `// shift operator ` `using` `System; ` ` `  `class` `GFG ` `{ ` `static` `void` `isKthBitSet(``int` `n,  ` `                        ``int` `k) ` `{ ` `    ``if` `(((n >> (k - 1)) & ` `              ``1) == 1) ` `        ``Console.WriteLine(``"SET"``); ` `    ``else` `        ``Console.WriteLine(``"NOT SET"``); ` `} ` ` `  `// Driver code ` `static` `public` `void` `Main () ` `{ ` `    ``int` `n = 5, k = 1; ` `    ``isKthBitSet(n, k); ` `} ` `} ` ` `  `// This code is contributed ` `// by ajit `

## PHP

 `> (``\$k` `- 1)) & 1) ` `        ``echo` `"SET"``; ` `    ``else` `        ``echo` `"NOT SET"``; ` `} ` ` `  `// Driver code ` `\$n` `= 5; ``\$k` `= 1; ` `isKthBitSet(``\$n``, ``\$k``); ` ` `  `// This code is contributed  ` `// by akt_mit ` `?> `

Output:

```SET
```

This article is contributed by SAKSHI TIWARI. If you like GeeksforGeeks(We know you do!) 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.