# Program to clear K-th bit of a number N

Last Updated : 08 Nov, 2021

Given a number N, the task is to clear the K-th bit of this number N. If K-th bit is 1, then clear it to 0 and if it is 0 then leave it unchanged.
Examples:

```Input: N = 5, K = 1
Output: 4
5 is represented as 101 in binary
and has its first bit 1, so clearing
it will result in 100 i.e. 4.

Input: N = 5, K = 2
Output: 5
5 is represented as 101 in binary
and has its second bit is already 0,
so clearing it will result in 101 i.e. 5.```

Approach:

• Since bitwise AND of any bit with a reset bit results in a reset bit, i.e.
```Any bit <bitwise AND> Reset bit = Reset bit

which means,
0 & 0 = 0
1 & 0 = 0```
• So for clearing a bit, performing a bitwise AND of the number with a reset bit is the best idea.
```n = n & ~(1 << k)
OR
n &= ~(1 << k)

where k is the bit that is to be cleared```

Below is the implementation of the above approach:

## C

 `// C program to clear K-th bit of a number N`   `#include `   `// Function to clear the kth bit of n` `int` `clearBit(``int` `n, ``int` `k)` `{` `    ``return` `(n & (~(1 << (k - 1))));` `}`   `// Driver code` `int` `main()` `{` `    ``int` `n = 5, k = 1;`   `    ``printf``(``"%d\n"``, clearBit(n, k));`   `    ``return` `0;` `}`

## C++

 `// C++ program to clear K-th bit of a number N`   `#include ` `using` `namespace` `std;`   `// Function to clear the kth bit of n` `int` `clearBit(``int` `n, ``int` `k)` `{` `    ``return` `(n & (~(1 << (k - 1))));` `}`   `// Driver code` `int` `main()` `{` `    ``int` `n = 5, k = 1;`   `    ``cout<

## Python3

 `# Python3 program to clear` `# K-th bit of a number N`   `# Function to clear the kth bit of n` `def` `clearBit(n, k):` `    ``return` `(n & ( ~(``1` `<< (k ``-` `1``))))`   `# Driver code` `n ``=` `5` `k ``=` `1`   `print``(clearBit(n, k))`   `# This code is contributed ` `# by Mohit Kumar`

## Java

 `// Java program to clear K-th bit of a number N ` `class` `GFG ` `{` `    `  `    ``// Function to clear the kth bit of n ` `    ``static` `int` `clearBit(``int` `n, ``int` `k) ` `    ``{ ` `        ``return` `(n & (~(``1` `<< (k - ``1``)))); ` `    ``} ` `    `  `    ``// Driver code ` `    ``public` `static` `void` `main (String[] args) ` `    ``{ ` `        ``int` `n = ``5``, k = ``1``; ` `    `  `        ``System.out.println(clearBit(n, k)); ` `    ``} ` `}`   `// This code is contributed by AnkitRai01`

## C#

 `// C# program to clear K-th bit of a number N ` `using` `System;`   `class` `GFG ` `{` `    `  `    ``// Function to clear the kth bit of n ` `    ``static` `int` `clearBit(``int` `n, ``int` `k) ` `    ``{ ` `        ``return` `(n & (~(1 << (k - 1)))); ` `    ``} ` `    `  `    ``// Driver code ` `    ``public` `static` `void` `Main (String[] args) ` `    ``{ ` `        ``int` `n = 5, k = 1; ` `    `  `        ``Console.WriteLine(clearBit(n, k)); ` `    ``} ` `}`   `// This code is contributed by PrinciRaj1992`

## Javascript

 ``

Output:

`4`

Time Complexity: O(1)

Auxiliary Space: O(1)

Previous
Next