[algogeeks] BitWise Operations - For finding next multiple

2012-09-13 Thread VIHARRI


hey for finding next multiple of a number x using bitwise : ( n + x -1 )  
~(x-1) but not working for all numbers 
Could some one please explain me.

-- 
You received this message because you are subscribed to the Google Groups 
Algorithm Geeks group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/algogeeks/-/7C_Nw4RoxmEJ.
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.



Re: [algogeeks] BitWise Operations - For finding next multiple

2012-09-13 Thread bharat b
@vihari: what is n?

On Thu, Sep 13, 2012 at 6:32 PM, VIHARRI viharri@gmail.com wrote:

 hey for finding next multiple of a number x using bitwise : ( n + x -1 ) 
 ~(x-1) but not working for all numbers
 Could some one please explain me.

 --
 You received this message because you are subscribed to the Google Groups
 Algorithm Geeks group.
 To view this discussion on the web visit
 https://groups.google.com/d/msg/algogeeks/-/7C_Nw4RoxmEJ.
 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.


-- 
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.



Re: [algogeeks] BitWise Operations - For finding next multiple

2012-09-13 Thread VIHARRI P L V
Let me give an example.

  For 17 next multiple of number 5 is 20.
  For 20 next multiple of number 5 is 25.

And give solution for this proeblem also:

  For 17 next nearest multiple of number 5 is 20.
  For 20 next nearest multiple of number 5 is 20.

*VIHARRI P L V*



On Thu, Sep 13, 2012 at 7:09 PM, bharat b bagana.bharatku...@gmail.comwrote:

 @vihari: what is n?

 On Thu, Sep 13, 2012 at 6:32 PM, VIHARRI viharri@gmail.com wrote:

 hey for finding next multiple of a number x using bitwise : ( n + x -1 )
  ~(x-1) but not working for all numbers
 Could some one please explain me.

 --
 You received this message because you are subscribed to the Google Groups
 Algorithm Geeks group.
 To view this discussion on the web visit
 https://groups.google.com/d/msg/algogeeks/-/7C_Nw4RoxmEJ.
 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.


  --
 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.


-- 
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.



Re: [algogeeks] BitWise Operations - For finding next multiple

2012-09-13 Thread bharat b
the above code works only for 2,4,8,16 ...

On Thu, Sep 13, 2012 at 7:13 PM, VIHARRI P L V viharri@gmail.comwrote:

 Let me give an example.

   For 17 next multiple of number 5 is 20.
   For 20 next multiple of number 5 is 25.

 And give solution for this proeblem also:

   For 17 next nearest multiple of number 5 is 20.
   For 20 next nearest multiple of number 5 is 20.

 *VIHARRI P L V*




 On Thu, Sep 13, 2012 at 7:09 PM, bharat b bagana.bharatku...@gmail.comwrote:

 @vihari: what is n?

 On Thu, Sep 13, 2012 at 6:32 PM, VIHARRI viharri@gmail.com wrote:

 hey for finding next multiple of a number x using bitwise : ( n + x -1 )
  ~(x-1) but not working for all numbers
 Could some one please explain me.

 --
 You received this message because you are subscribed to the Google
 Groups Algorithm Geeks group.
 To view this discussion on the web visit
 https://groups.google.com/d/msg/algogeeks/-/7C_Nw4RoxmEJ.
 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.


  --
 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.


  --
 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.


-- 
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.



Re: [algogeeks] BitWise Operations - For finding next multiple

2012-09-13 Thread Dave
Actually, it doesn't do what the requester asked even when x is a power of 
2, because, e.g., the output for n = 6 and x = 2 is 6, but according to the 
examples provided, the output should be 8, the next higher multiple of 2. 
You could use (n + x)  ~(x-1) or (n + x)  (-x) for the x = power of two 
case.
For general x  0, the following algorithm is O(log n):
int nextLargerMultiple(int n, int x)
{
 int r = n, d = x;
 while( r = d ) d = 1;
 while( d != x )
 {
 d = 1;
 if( r = d ) r -= d;
 }
 return n - r + x;
}
Think long division, as you learned to do it with paper and pencil. The 
first while loop shifts x left enough that the result is  n. The second 
while loop  successively shifts x right one place and if 
possible subtracts it from n. At the end of the second while loop r is the 
remainder; n%x. Subtracting r from n gives the n rounded down to a multiple 
of x, and then adding x gives the next larger multiple of x.
 
Dave

On Thursday, September 13, 2012 9:03:49 AM UTC-5, bharat wrote:

 the above code works only for 2,4,8,16 ...

 On Thu, Sep 13, 2012 at 7:13 PM, VIHARRI P L V 
 vihar...@gmail.comjavascript:
  wrote:

 Let me give an example. 
 
   For 17 next multiple of number 5 is 20.
   For 20 next multiple of number 5 is 25.

 And give solution for this proeblem also:
  
   For 17 next nearest multiple of number 5 is 20.
   For 20 next nearest multiple of number 5 is 20.

 *VIHARRI P L V*




 On Thu, Sep 13, 2012 at 7:09 PM, bharat b 
 bagana.bh...@gmail.comjavascript:
  wrote:

 @vihari: what is n?

 On Thu, Sep 13, 2012 at 6:32 PM, VIHARRI vihar...@gmail.comjavascript:
  wrote:

 hey for finding next multiple of a number x using bitwise : ( n + x -1 
 )  ~(x-1) but not working for all numbers 
 Could some one please explain me. 

 -- 
 You received this message because you are subscribed to the Google 
 Groups Algorithm Geeks group.
 To view this discussion on the web visit 
 https://groups.google.com/d/msg/algogeeks/-/7C_Nw4RoxmEJ.
 To post to this group, send email to algo...@googlegroups.comjavascript:
 .
 To unsubscribe from this group, send email to 
 algogeeks+...@googlegroups.com javascript:.
 For more options, visit this group at 
 http://groups.google.com/group/algogeeks?hl=en.


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


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




-- 
You received this message because you are subscribed to the Google Groups 
Algorithm Geeks group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/algogeeks/-/e0LIWXHAQjMJ.
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.