Yes, good catch. It should be the bitwise or. Don On Sep 13, 3:37 pm, Dave <dave_and_da...@juno.com> wrote: > @Don. Very nice. I think you meant | where you wrote ||. This is so > short that you could even do it as a #define: > > #define bitExchange(n,i,j) (((((n)>>(i))&1)==(((n)>>(j))&1))?n: > (n)^((1<<(i))|(1<<(j)))) > > Dave > > On Sep 13, 3:15 pm, Don <dondod...@gmail.com> wrote: > > > // 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.- Hide quoted text - > > > - Show quoted text -
-- 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.