# How to turn off a particular bit in a number?

Difficulty Level: Rookie

Given a number n and a value k, turn of the k’th bit in n.

Examples:

```Input:  n = 15, k = 1
Output: 14

Input:  n = 15, k = 2
Output: 13

Input:  n = 15, k = 3
Output: 11

Input:  n = 15, k = 4
Output: 7

Input:  n = 15, k >= 5
Output: 15 ```

The idea is to use bitwise <<, & and ~ operators. Using expression "~(1 << (k - 1))“, we get a number which has all bits set, except the k’th bit. If we do bitwise & of this expression with n, we get a number which has all bits same as n except the k’th bit which is 0.

Following is C++ implementation of this.

## C/C++

```#include <iostream>
using namespace std;

// Returns a number that has all bits same as n
// except the k'th bit which is made 0
int turnOffK(int n, int k)
{
// k must be greater than 0
if (k <= 0) return n;

// Do & of n with a number with all set bits except
// the k'th bit
return (n & ~(1 << (k - 1)));
}

// Driver program to test above function
int main()
{
int n = 15;
int k = 4;
cout << turnOffK(n, k);
return 0;
} ```

## Java

```// Java program to turn off a particular bit in a number
import java.io.*;

class TurnOff
{
// Function to returns a number that has all bits same as n
// except the k'th bit which is made 0
static int turnOffK(int n, int k)
{
// k must be greater than 0
if (k <= 0)
return n;

// Do & of n with a number with all set bits except
// the k'th bit
return (n & ~(1 << (k - 1)));
}

// Driver program
public static void main (String[] args)
{
int n = 15;
int k = 4;
System.out.println(turnOffK(n, k));
}
}
// Contributed by Pramod Kumar
```

Output:
`7`

Exercise: Write a function turnOnK() that turns the k’th bit on.

# GATE CS Corner    Company Wise Coding Practice

Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.
2.4 Average Difficulty : 2.4/5.0
Based on 31 vote(s)

Writing code in comment? Please use ide.geeksforgeeks.org, generate link and share the link here.