C:\Windows\system32>perl -E" say 1+1/2**47;" 1.00000000000001 C:\Windows\system32>perl -E" say 1+1/2**48;" 1 #### C:\Windows\system32>perl -E"$r=int rand(1e15+1); say $r==1e15 ? 1 : sprintf '0.%015s', $r" 0.176483154296875