// If bits i and j are equal, result is just n
// Otherwise, toggle bits i and j
int bitExchange(int n, int i, int j)
{
  return (((n>>i)&1) == ((n>>j)&1)) ? n : n ^ ((1<<i) || (1<<j));
}

On Sep 13, 1:50 pm, kumar raja <rajkumar.cs...@gmail.com> wrote:
> Suppose a number 'n' is given  and two bits positions i,j present in binary
> representation of n .
>
> Then how to exchange the contents of the two bits i and j.
>
> E.g. n= 13
> its binary representation is 0000 1101 (just for now consider 8 bit number)
>
> i= 2,j=6
>
> o/p : 0100 1001 = 73
>
> please suggest some effective way to do this...
>
> --
> Regards
> Kumar Raja
> M.Tech(SIT)
> IIT Kharagpur,
> 10it60...@iitkgp.ac.in
> 7797137043.
> 09491690115.

-- 
You received this message because you are subscribed to the Google Groups 
"Algorithm Geeks" group.
To post to this group, send email to algogeeks@googlegroups.com.
To unsubscribe from this group, send email to 
algogeeks+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/algogeeks?hl=en.

Reply via email to