A long, at 64 bits can contain 2^64 distinct values. A float, on the other hand, has only 32 bits so it can contain only 2^32 distinct values. However, because float uses scientific notation to represent values, a float can handle a much larger range of numbers than a long. The downside is that not all of those numbers may be represented exactly.
Which number is greater is irrelevant. There are some numbers that can be represented by a long exactly and can only be approximated by a float. Those numbers are not contiguous nor are they found only above some threshold. Rather, those numbers are strewn out throughout the range of float.
I'm sure there's a great explanation for which numbers those are, but float is all based on base-2 scientific notation and, as I haven't done much math for a while now, I don't know that I really want to get into that.
For the
SCJP exam, it will suffice to know that converting from a long to a float is a widening coversion yet some precision
may be lost while doing so because of the nature of a float.