Related Articles

# Change all even bits in a number to 0

• Difficulty Level : Medium
• Last Updated : 06 Apr, 2021

Given a number, change all bits at even positions to 0.

Examples:

Input : 30
Output : 10
Binary representation of 11110.
Bits at Even positions are highlighted.
After making all of them 0, we get 01010

Input :  10
Output :  10

Method 1 (Bit Traversal)

The idea is to traverse through all even bits. We accumulate all powers of 2 in a number to subtract. Finally we subtract the accumulated value from n to obtain the result.

## C++

 // C++ program to change even// bits to 0.#include using namespace std; // Returns modified number with// all even bits 0.int changeEvenBits(int n){    // To store sum of bits    // at even positions.    int to_subtract = 0;     // To store bits to shift    int m = 0;     // One by one put all even    // bits to end    for (int x = n; x; x >>= 2) {        // If current last bit        // is set, add it to ans        if (x & 1)            to_subtract += (1 << m);         // Next shift position        m += 2;    }     return n - to_subtract;} // Driver codeint main(){    int n = 30;    cout << changeEvenBits(n) << endl;     return 0;}

## Java

 // Java program to change even// bits to 0.import java.util.*;class GFG {    // Returns modified number with    // all even bits 0.    static int changeEvenBits(int n)    {        // To store sum of bits        // at even positions.        int to_subtract = 0;         // To store bits to shift        int m = 0;         // One by one put all even        // bits to end        for (int x = n; x > 0; x >>= 2) {            // If current last bit            // is set, add it to ans            if ((x & 1) > 0)                to_subtract += (1 << m);             // Next shift position            m += 2;        }         return n - to_subtract;    }     // Driver code    public static void main(String[] args)    {        int n = 30;        System.out.println(changeEvenBits(n));    }}/* This code is contributed by Mr. Somesh Awasthi */

## Python

 # Python program to change even# bits to 0. # Returns modified number with# all even bits 0.  def changeEvenBits(n):     # To store sum of bits    # at even positions.    to_subtract = 0     # To store bits to shift    m = 0     # One by one put all even    # bits to end    x = n    while(x):         # If current last bit        # is set, add it to ans        if (x & 1):            to_subtract += (1 << m)         # Next shift position        m += 2        x >>= 2     return n - to_subtract  # Driver coden = 30print changeEvenBits(n) # This code is contributed by Sachin Bisht

## C#

 // C# program to change even// bits to 0.using System; class GFG {         // Returns modified number with    // all even bits 0.    static int changeEvenBits(int n)    {                 // To store sum of bits        // at even positions.        int to_subtract = 0;             // To store bits to shift        int m = 0;             // One by one put all even        // bits to end        for (int x = n; x > 0; x >>= 2)        {                         // If current last bit            // is set, add it to ans            if ((x & 1) > 0)            to_subtract += (1 << m);                 // Next shift position            m += 2;        }             return n - to_subtract;    }         // Driver code    public static void Main()    {        int n = 30;                 Console.Write(changeEvenBits(n));    }} // This code is contributed by nitin mittal.

## PHP

 >= 2)    {                 // If current last bit        // is set, add it to ans        if (\$x & 1)        \$to_subtract += (1 << \$m);         // Next shift position        \$m += 2;    }     return \$n - \$to_subtract;}     // Driver code    \$n = 30;    echo changeEvenBits(\$n) ; // This code is contributed by nitin mittal?>


Output

10

## C++

 #include using namespace std; int convertEvenBitToOne(int n) { return (n & 0xaaaaaaaa); } int main(){    int n = 30;    cout << convertEvenBitToOne(n);    return 0;}

## Java

 // Java program using Bitmask to// Change all even bits in a// number to 0import java.io.*; class GFG {     static int convertEvenBitToOne(int n)    {        return (n & 0xaaaaaaaa);    }     // Driver code    public static void main(String[] args)    {        int n = 30;        System.out.println(convertEvenBitToOne(n));    }} // This code is contributed by anuj_67.

## Python

 def convertEvenBitToOne(n):    return (n & 0xaaaaaaaa)  # Driver coden = 30print convertEvenBitToOne(n) # This code is contributed by Sachin Bisht

## C#

 // C# program using Bitmask to// Change all even bits in a// number to 0using System; class GFG {     static long convertEvenBitToOne(int n)    {        return (n & 0xaaaaaaaa);    }     // Driver code    public static void Main()    {        int n = 30;        Console.WriteLine(convertEvenBitToOne(n));    }} // This code is contributed by anuj_67.



## Javascript


Output
10

This article is contributed by RISHABH RAJ JHA . If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.