Integer division that rounds up: Difference between revisions

From wikiluntti
Line 40: Line 40:
\left \lfloor  \frac{by}{y} + \frac ry + \frac yy - \frac 1y \right \rfloor  \\
\left \lfloor  \frac{by}{y} + \frac ry + \frac yy - \frac 1y \right \rfloor  \\
&=
&=
\left \lfloor  \frac{by + 1}{y} + \frac {r-1}y  \right \rfloor  \\
\left \lfloor  \frac{by + y}{y} + \frac {r-1}y  \right \rfloor  \\
\end{align}
\end{align}
</math>
</math>

Revision as of 11:17, 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