给定两个整数,每当第一个数字的位设置为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