Related Articles

Related Articles

Toggle all even bits of a number
  • Difficulty Level : Medium
  • Last Updated : 18 Apr, 2018

Given a number, the task is to Toggle all even bit of a number

Examples:

Input : 10
Output : 0
binary representation 1 0 1 0
after toggle          0 0 0 0 


Input : 20
Output : 30
binary representation 1 0 1 0 0
after toggle          1 1 1 1 0

1. First generate a number that contains even position bits.
2. Take XOR with the original number. Note that 1 ^ 1 = 0 and 1 ^ 0 = 1.

Let’s understand this approach with below code.

C++

filter_none

edit
close

play_arrow

link
brightness_4
code

// CPP code to Toggle all even
// bit of a number
#include <iostream>
using namespace std;
  
// Returns a number which has all even
// bits of n toggled.
int evenbittogglenumber(int n)
{
    // Genarate number form of 101010
    // ..till of same order as n
    int res = 0, count = 0;
    for (int temp = n; temp > 0; temp >>= 1) {
  
        // if bit is even then generate
        // number and or with res
        if (count % 2 == 1)
            res |= (1 << count);      
  
        count++;
    }
  
    // return toggled number
    return n ^ res;
}
  
// Driver code
int main()
{
    int n = 11;
    cout << evenbittogglenumber(n);
    return 0;
}

chevron_right


Java

filter_none

edit
close

play_arrow

link
brightness_4
code

// Java code to Toggle all
// even bit of a number
import java.io.*;
  
class GFG {
      
    // Returns a number which has
    // all even bits of n toggled.
    static int evenbittogglenumber(int n)
    {
        // Genarate number form of 101010
        // ..till of same order as n
        int res = 0, count = 0;
        for (int temp = n; temp > 0
                               temp >>= 1)
        {
            // if bit is even then generate
            // number and or with res
            if (count % 2 == 1)
                res |= (1 << count);      
       
            count++;
        }
       
        // return toggled number
        return n ^ res;
    }
       
    // Driver code
    public static void main(String args[])
    {
        int n = 11;
        System.out.println(evenbittogglenumber(n));
    }
}
  
// This code is contributed by Nikita Tiwari.

chevron_right


Python3

filter_none

edit
close

play_arrow

link
brightness_4
code

# Python code to Toggle all
# even bit of a number
  
# Returns a number which has all even
# bits of n toggled.
def evenbittogglenumber(n) :
  
    # Genarate number form of 101010
    # ..till of same order as n
    res = 0
    count = 0
    temp = n
  
    while (temp > 0) :
          
        # if bit is even then generate
        # number and or with res
        if (count % 2 == 1) :
            res = res | (1 << count)     
   
        count = count + 1
        temp >>= 1
          
   
    # return toggled number
    return n ^ res
   
# Driver code
n = 11
print(evenbittogglenumber(n))
  
#This code is contributed by Nikita Tiwari.

chevron_right


C#

filter_none

edit
close

play_arrow

link
brightness_4
code

// C# code to Toggle all
// even bit of a number
using System;
   
class GFG {
       
    // Returns a number which has
    // all even bits of n toggled.
    static int evenbittogglenumber(int n)
    {
        // Genarate number form of 101010
        // ..till of same order as n
        int res = 0, count = 0;
          
        for (int temp = n; temp > 0; 
                               temp >>= 1)
        {
            // if bit is even then generate
            // number and or with res
            if (count % 2 == 1)
                res |= (1 << count);      
        
            count++;
        }
        
        // return toggled number
        return n ^ res;
    }
        
    // Driver code
    public static void Main()
    {
          
        int n = 11;
          
        Console.WriteLine(evenbittogglenumber(n));
    }
}
   
// This code is contributed by Anant Agarwal.

chevron_right


PHP

filter_none

edit
close

play_arrow

link
brightness_4
code

<?php
// php code to Toggle all
// even bit of a number
  
// Returns a number which has 
// all even bits of n toggled.
function evenbittogglenumber($n)
{
      
    // Genarate number form of 101010
    // ..till of same order as n
    $res = 0;
    $count = 0;
    for ($temp = $n; $temp > 0; $temp >>= 1) 
    {
  
        // if bit is even then generate
        // number and or with res
        if ($count % 2 == 1)
            $res |= (1 << $count);     
  
        $count++;
    }
  
    // return toggled number
    return $n ^ $res;
}
  
    // Driver code
    $n = 11;
    echo evenbittogglenumber($n);
  
// This code is contributed by mits 
?>

chevron_right



Output:

1

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.




My Personal Notes arrow_drop_up
Recommended Articles
Page :