Below java program going to swap two numbers using bitwise XOR operator. A bitwise XOR operator comparing bits of two operands and if they are equal then returns 1 and if they are not equal then returns 0.
For example:
number1 = 5; /* binary equal to 00000101*/
number2 = 10; /* binary equal to 00001010 */
number1 ^ number2 compares corresponding bits of number1 and number2 and generates 1 if they are equal and if not equal returns 0.
Example: Swapping two numbers using Bitwise operator
import java.util.Scanner;
public class BitwiseSwap
{
public static void main(String args[])
{
int number1, number2;
Scanner scanner = new Scanner(System.in);
System.out.print("Enter 1st number:");
number1 = scanner.nextInt();
System.out.print("Enter 2nd number:");
number2 = scanner.nextInt();number1 = number1 ^ number2;
number2 = number1 ^ number2;
number1 = number1 ^ number2;
scanner.close();
System.out.println("1st number after swapping:"+number1);
System.out.println("2nd number after swapping:"+number2);
}
}
Output:-
