**Write a C program to swap two numbers using bitwise operators.**

**Program:**

#include
<stdio.h>

int main()

{

int i = 65;

int k = 120;

printf("\n value
of i=%d k=%d before swapping", i, k);

i = i ^ k;

k = i ^ k;

i = i ^ k;

printf("\n value
of i=%d k=%d after swapping", i, k);

return 0;

}

**Explanation:**

i = 65; binary
equivalent of 65 is 0100 0001

k = 120; binary
equivalent of 120 is 0111 1000

i = i^k;

i...0100 0001

k...0111 1000

---------

val of i = 0011 1001

---------

k = i^k

i...0011 1001

k...0111 1000

---------

val of k = 0100 0001
binary equivalent of this is 65

---------(that is the
initial value of i)

i = i^k

i...0011 1001

k...0100 0001

---------

val of i = 0111 1000
binary equivalent of this is 120

--------- (that is
the initial value of k)