It's about how many bytes it is required to store the value.
float requires 4 bytes ---> float can store 2^(8*4) different values.
double requires 8 bytes ---> double can store 2^(8*8) different values.
A byte means 8 bits
So float use 4 * 8 = 32 bits to store floating point values.
Where as a double use 8 * 8 = 64 bits to store a value
Unlike integers floating and double values are further divided into mantissa and exponent to provide a certain range.
Read about them here