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

• Difficulty Level : Easy
• Last Updated : 15 Jul, 2022

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`

Time Complexity: O(1)
Auxiliary Space:  O(1)

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