Ive not seen that operator before. What does it do? Ive had a look at the online manual and it says it "returns the middle 16 bits of the 32-bit result". Im not sure if thats what i want.

I know i could get to the correct value using the following equation
Rnd1 = (Rnd0.byte0 / 255) * lim

That one wont work though because it will be rounded to 0 or 1 when dividing.