I think I understand now. Because the uint32 range was only used up to value of 27, the float value became so small, right?:

In [23]: 27.0/(2**32)
Out[23]: 6.28642737865448e-09

Ok, good that we talked about it... ;) (and sorry for the noise..)