[algogeeks] BitWise Operations - For finding next multiple
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
@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
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
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
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.