a rounding mode
When a true result lands strictly between two representable machine numbers, the computer must pick one — and the rounding mode is the rule it follows. Most of the time you never think about it because the default does the obvious, sensible thing, but the rule is precisely defined and you can change it, which matters for careful numerics and for getting reproducible results.
IEEE 754 defines four rounding modes. The default is round-to-nearest, ties-to-even: pick the closer of the two neighbours, and when a value is exactly halfway, choose the one whose last bit is 0 (even). The 'ties-to-even' tweak avoids a subtle statistical bias that plain 'always round half up' would introduce — over many roundings, half-up drifts upward, while round-to-even has no net drift. The other three are directed roundings: toward +infinity (ceiling), toward -infinity (floor), and toward zero (truncation). Directed modes are the engine behind interval arithmetic, where you deliberately round one bound up and the other down to bracket the true answer rigorously.
The choice of mode is exactly what makes 'fl(x op y) = (x op y)(1 + delta) with |delta| <= u' true with u = 2^(-p): only round-to-nearest achieves that smallest possible bound, since you are never more than half a step off. Truncation (round-toward-zero), used by naive integer casts and some old hardware, can be twice as bad and biases results systematically toward zero. So unless you are doing interval arithmetic or chasing a specific reproducibility goal, leave the mode at round-to-nearest-even — and know that switching it can silently change results across runs or machines.
Rounding the two-bit-tie values to one binary place under ties-to-even: 0.5 ties between 0 and 1 -> rounds to 0 (even), while 1.5 ties between 1 and 2 -> rounds to 2 (even). Plain round-half-up would give 1 and 2, nudging the average upward; ties-to-even keeps the long-run average unbiased.
Ties-to-even removes the upward drift of plain round-half-up.
Round-to-nearest-even is the default for a reason: it minimizes both the per-operation error bound and any statistical bias. Changing the rounding mode globally can break libraries that assume the default — change it locally and restore it.