integer numbers are: 1, 50, 437, 189000 etc.
float numbers are: 1.5, 0.125, 46.333 etc.
see the difference?
javascript by default makes float random - number from 0 to 1
c2 improves it in this way: if you write for example random(47) it will return an integer part from 0 to 46 plus float part from 0 to 1 (as example, 35.005463528755)
we need floor function to eliminate this float part (floor function rounds float number down, for example floor(55.001) = 55 and floor(55.999) = 55 too)
so floor(random(47)) will return just integer numbers from 0 to 46 (0, 1, 2, 3, ..., 45, 46)
of course, using floor function is optionally
Does my explanation clear?