📜  对于数字的每个设置位,其他的切换位

📅  最后修改于: 2021-05-25 03:57:32             🧑  作者: Mango

给定两个整数,每当第一个数字的位设置为1时,切换第二个数字的位,使第二个数字的其余位保持不变。

例子 :

Input: 2 5
Output: 7
2 is represented as 10 in binary and 5 
is represented as 101. Hence toggling the 
2nd bit of 5 from right, thus the new 
number becomes 7 i.e. 111

Input: 1 3
Output: 2

方法:
只需对给定的两个数字进行异或。

C++
// A CPP program toggle bits of n2
// that are at same position as set
// bits of n1.
#include 
using namespace std;
 
// function for the Nega_bit
int toggleBits(int n1, int n2)
{
    return n1 ^ n2;
}
 
// Driver program to test above
int main()
{
    int n1 = 2, n2 = 5;
    cout << toggleBitst(n1, n2) << endl;
    return 0;
}


Java
// A Java program toggle bits of n2
// that are at same position as set
// bits of n1.
import java.io.*;
 
class GFG {
     
    // function for the Nega_bit
    static int toggleBits(int n1, int n2)
    {
        return (n1 ^ n2);
    }
     
    // Driver program
    public static void main(String args[])
    {
        int n1 = 2, n2 = 5;
        System.out.println(toggleBits(n1, n2));
    }
}
 
 
 
 
// This code is contributed
// by Nikita Tiwari.


Python3
# A Python 3 program toggle bits of n2
# that are at same position as set
# bits of n1.
 
     
# function for the Nega_bit
def toggleBits(n1, n2) :
    return (n1 ^ n2)
 
 
# Driver program to test above
n1 = 2
n2 = 5
 
print(toggleBits(n1, n2))
 
# This code is contributed
# by Nikita Tiwari.


C#
// C# program toggle bits of n2
// that are at same position as set
// bits of n1.
using System;
 
class GFG {
      
    // function for the Nega_bit
    static int toggleBits(int n1, int n2)
    {
        return (n1 ^ n2);
    }
      
    // Driver program
    public static void Main()
    {
         
        int n1 = 2, n2 = 5;
         
        Console.WriteLine(toggleBits(n1, n2));
    }
}
  
// This code is contributed by Anant Agarwal.


PHP


Javascript


输出 :

7