E-Ink News Daily

← Back to list

When random is not actually random enough

The article explains modulo bias — a common but subtle bug when using the modulo operator to constrain random numbers to a range, which breaks the uniform distribution. Using a uniform u64 random and taking modulo 10 for a set of 10 items means some items are slightly more likely to be chosen than others, since 2^64 is not evenly divisible by 10.

Background

Modulo bias is a well-known issue in programming that affects anyone generating random selections from a set whose size doesn't divide evenly into the random number generator's output range.

Source
Lobsters
Published
Oct 7, 2026 at 08:43 AM
Score
6.0 / 10