Integer division that rounds up: Difference between revisions
From wikiluntti
|  (→Proof) |  (→Proof) | ||
| Line 42: | Line 42: | ||
| \left \lfloor  \frac{by + y}{y} + \frac {r-1}y  \right \rfloor  \\ | \left \lfloor  \frac{by + y}{y} + \frac {r-1}y  \right \rfloor  \\ | ||
| &= | &= | ||
| \left \lfloor  \frac{(1+y) | \left \lfloor  \frac{(1+y)y}{y} + \frac {r-1}y  \right \rfloor  \\ | ||
| \end{align} | \end{align} | ||
| </math> | </math> | ||
Revision as of 10:18, 8 July 2024
Introduction
Usual integer division rounds down: for . To round up (if overflow is not an issue), you can use following algorithm with the usual roundig down division:
Proof
Proof is in two parts; 1st if divides , and if not. Note that usual integer division rounds down.
Part 1. If divides we have for some . Thus we have
because . This part is ok.
Part 2. If does not divide we have for some and . Thus we have

