Числа с плавающей точкой (float, double) всегда приближенные.
Лишь некоторое не большое количество целых чисел может быть представлено точно в формате с плавающей точкой. Но на это не стоит рассчитывать.
На сколько помню, точность float - 5-6 значащих десятичных цифр. У double больше.
Для правильного вопроса надо знать половину ответа
32-bit unsigned int имеет 32 бита для хранения значения.
32-bit float только 24 бита для хранения мантиссы.
Поэтому точность представления числа и падает.
Дополню лишь тем, что как увеличивается так и уменьшается на величину точности.
P.S и на всю жизнь запомнилась реализация бух учета однокурсником сначала на float, а потом с целью решения возникших проблем на double float
Дмитрий, За давностью лет уже не припомню, возможно, и если память мне не изменяет в последствии его называли треть копейки. Это уже после "разбора полетов"