$rand_max = 1025; sub my_rand{ $rnd = rand; return int($rnd*$rnd * $rand_max); } @a = (); for(1..100000) { $n = my_rand(); $a[$n]++; } $i = 1; while($i <= 1024) { print "$i: ", $a[$i], $/; $i = $i*2; } #### 1: 1338 2: 913 4: 718 8: 526 16: 397 32: 280 64: 195 128: 137 256: 99 512: 65 1024: 42