Related Articles

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

• Difficulty Level : Easy
• Last Updated : 26 Apr, 2021

Given a number n and a value k, turn off the k’th bit in n. Please note that k = 1 means the rightmost bit.
Examples:

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

Input:  n = 14, k = 1
Output: 14
The rightmost bit was already off, so no change.

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.
Below is the implementation of above idea.

## C++

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

## Python3

 `# Returns a number that``# has all bits same as n``# except the k'th bit``# which is made 0` `def` `turnOffK(n,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 code``n ``=` `15``k ``=` `4``print``(turnOffK(n, k))` `# This code is contributed``# by Anant Agarwal.`

## C#

 `// C# program to turn off a``// particular bit in a number``using` `System;` `class` `GFG``{``    ` `    ``// 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 Code``    ``public` `static` `void` `Main ()``    ``{``        ``int` `n = 15;``        ``int` `k = 4;``        ``Console.Write(turnOffK(n, k));``    ``}``}` `// This code is contributed by Nitin Mittal.`

## PHP

 ``

## Javascript

 ``

Output:

`7`

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