int main() { int results[3] = { 0, 0, 0 }; for (int i = 0; i < 100000; i++) { results[arc4random_uniform_fast_simple(3)]++; } for (int i = 0; i < 3; i++) printf("%d: %d\n", i, results[i]);
return 0; } % ./a.out 0: 24809 1: 50011 2: 25180 You can't reuse bits because they'll be biased.