Given n number, the task is to toggle odd bit of the number.
Examples:
Input : 10 Output : 15 binary representation 1 0 1 0 after toggle 1 1 1 1 Input : 20 Output : 1 binary representation 1 0 1 0 0 after toggle 0 0 0 0 1
1. First generate a number that contains odd 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++
// Toggle all odd bit of a number#include <iostream>using namespace std; // Returns a number which has all odd// bits of n toggled.int evenbittogglenumber(int n){ // Generate 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 odd, then generate // number and or with res if (count % 2 == 0) res |= (1 << count); count++; } // return toggled number return n ^ res;} // Driver codeint main(){ int n = 11; cout << evenbittogglenumber(n); return 0;} |
Java
// Toggle all odd bit of a numberimport java.io.*;class GFG { // Returns a number which has all odd // bits of n toggled. static int evenbittogglenumber(int n) { // Generate 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 odd, then generate // number and or with res if (count % 2 == 0) 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.*/ |
Python3
# Python3 code for Toggle all odd bit of a number# Returns a number which has all odd# bits of n toggled.def evenbittogglenumber(n) : # Generate number form of 101010... # ..till of same order as n res = 0; count = 0; temp = n while(temp > 0 ) : # If bit is odd, then generate # number and or with res if (count % 2 == 0) : res = res | (1 << count) count = count + 1 temp >>= 1 # Return toggled number return n ^ res # Driver codeif __name__ == '__main__' : n = 11 print(evenbittogglenumber(n))# This code is contributed by Nikita Tiwari. |
C#
// C# code for Toggle all odd bit of a numberusing System;class GFG { // Returns a number which has all odd // bits of n toggled. static int evenbittogglenumber(int n) { // Generate 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 odd, then generate // number and or with res if (count % 2 == 0) 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. |
PHP
<?php// php implementation of Toggle// all odd bit of a number// Returns a number which has // all odd bits of n toggled.function evenbittogglenumber($n){ // Generate number form of 101010... // ..till of same order as n $res = 0; $count = 0; for ($temp = $n; $temp > 0; $temp >>= 1) { // if bit is odd, then generate // number and or with res if ($count % 2 == 0) $res |= (1 << $count); $count++; } // return toggled number return $n ^ $res;} // Driver code $n = 11; echo evenbittogglenumber($n);// This code is contributed by mits ?> |
Javascript
<script>// JavaScript program Toggle all odd bit of a number // Returns a number which has all odd // bits of n toggled. function evenbittogglenumber(n) { // Generate number form of 101010... // ..till of same order as n let res = 0, count = 0; for (let temp = n; temp > 0; temp >>= 1) { // if bit is odd, then generate // number and or with res if (count % 2 == 0) res |= (1 << count); count++; } // return toggled number return n ^ res; }// Driver code let n = 11; document.write(evenbittogglenumber(n)); </script> |
Output :
14
Time Complexity : O(log n)
Space Complexity : O(1)
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 neveropen!

… [Trackback]
[…] Read More Information here on that Topic: geeksforgeeks.org/toggle-all-odd-bits-of-a-number/ […]
… [Trackback]
[…] Read More on on that Topic: geeksforgeeks.org/toggle-all-odd-bits-of-a-number/ […]