In python the function random() generates a random float uniformly in the semi-open range [0.0, 1.0). In principle can it ever generate 0.0 (i.e. zero) and 1.0 (i.e. unity)? What is the scenario in practicality?
In python the function random() generates a random float uniformly in the semi-open range
Share
0.0can be generated;1.0cannot (since it isn’t within the range, hence the)as opposed to[).The probability of generating
0.0is equal to the probability of generating any other number within that range, namely, 1/X where X is the number of different possible results. For a standard unsigned double-precision floating point, this usually means 53 bits of fractional component, for 2^53 possible combinations, leading to a 1/(2^53) chance of generating exactly0.0.So while it’s possible for it to return exactly
0.0, it’s unlikely that you’ll see it any time soon – but it’s just as unlikely that you’d see exactly any other particular value you might choose in advance.