How to swap two numbers using bitwise XOR in C

2 Answers

0 votes
#include <stdio.h>
 
int main() 
{ 
    int a = 5, b = 13;
     
    a = a ^ b;
    b = a ^ b;
    a = a ^ b;
  
    printf("a = %d\nb = %d\n", a, b);
     
    return 0;
}
 
 
 
/*
run:
 
a = 13
b = 5
 
*/


answered May 27, 2015 by avibootz
edited Apr 10, 2024 by avibootz
0 votes
#include <stdio.h>
  
int main() 
{
   int x = 5;
   int y = 9;
     
   x ^= y; 
   y ^= x; 
   x ^= y;
     
   printf("%i %i", x, y);
    
   return 0;
}
  
  
  
/*
run:
  
9 5
  
*/

 



answered Apr 10, 2024 by avibootz

Related questions

2 answers 256 views
1 answer 232 views
1 answer 210 views
1 answer 250 views
1 answer 194 views
1 answer 192 views
...