Open In App

Program to clear K-th bit of a number N

Last Updated : 08 Nov, 2021
Comments
Improve
Suggest changes
Like Article
Like
Report

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 <stdio.h>

// 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 <bits/stdc++.h>
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<<clearBit(n, k)<<endl;

    return 0;
}

// This code is contributed by rutvik_56.
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
<script>

// JavaScript program to clear K-th bit of a number N

// Function to clear the kth bit of n
function clearBit(n, k)
{
    return (n & (~(1 << (k - 1))));
}

// Driver code
var n = 5, k = 1;
document.write( clearBit(n, k));

</script> 

Output: 
4

 

Time Complexity: O(1)

Auxiliary Space: O(1)


Next Article
Article Tags :
Practice Tags :

Similar Reads