@Dave: Beautiful. Don On Sep 20, 11:53 am, Dave <dave_and_da...@juno.com> wrote: > I am missing a couple of parentheses. So make that > > N = (N & ~((2 << j) - (1 << i))) | (M << i); > > And to make up for the extra post to get it right, I'll explain it: > 2<<j is a one bit in bit position j+1 and 0 bits elsewhere. > 1<<i is a one bit in bit position i and 0 bits elsewhere. > The difference of the two is a number with one bits from positions i > to and including j, and 0 bits elsewhere. > ~that is a number with 0 bits from positions i to and including j and > 1 bits elsewhere. > N&that is the number N with the bits from positions i to and including > j set to zero. > M<<i is M shifted into the correct position. > | puts the two pieces together. > > In the above, I've assumed that the field consisting of bits i through > j inclusive are to be modified. If what is intended is that i is the > first bit modified and j is the first bit not modified (so that j-i > bits are modified), then change 2<<j to 1<<j. > > Dave > > Dave > > On Sep 20, 11:41 am, Dave <dave_and_da...@juno.com> wrote: > > > @Ishan: Using bitwise operations: > > > N = (N & ~((2 << j) - (1 << i) | (M << i); > > > Dave > > > On Sep 20, 2:03 am, Ishan Aggarwal <ishan.aggarwal.1...@gmail.com> > > wrote: > > > > You are given two 32-bit numbers, N and M, and two bit positions, i and > > > j.Write a method to set all bits between i and j in N equal to M (e.g., M > > > becomes a substring of N located at i and starting at j). > > > > EXAMPLE: > > > > Input: N = 10000000000, M = 10101, i = 2, j = 6 > > > > Output: N = 10001010100 > > > > -- > > > Kind Regards > > > Ishan Aggarwal > > > [image: Aricent Group] > > > Presidency Tower-A, M.G.Road,Sector-14 > > > Gurgaon,Haryana.122015 INDIA > > > Phone : +91-9654602663 > > > ishan2.aggar...@aricent.com <puneet.ar...@aricent.com>- 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.