search
Login

Categories


C Books Guide and List
C++ Books Guide and List
Best Java Books

3.8k questions

4k answers

117 comments

10.7k users

0 votes
33.5k views
asked Expert 13.2k points 26 40 57

1 Answer

0 votes
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)
answered Guru 39.1k points 10 21 32

Related questions

0 votes
1 answer 1.6K views
1 vote
3 answers 6.8K views
6.8K views
asked Smita Advisor 7.1k points 10 22 42
0 votes
1 answer 120 views
0 votes
1 answer 72 views
0 votes
1 answer 777 views
777 views
Write a c program to add two numbers without add operator?
asked steve21
...