Так получилось, что ответили только 3/3 человека. Штош.
Начнем с подсказки, ответ....половина. Да, в [-1; 1] содержится половина всех флоат32.
Если кратко, то для х и 1/х у нас одинаковое кол-во битов. Поэтому внутри [-1; 1] должно быть столько, сколько в (-inf; -1) U (1; +inf), приблизительно, ведь там еще +- 0 и NaN, а я не помню что и как с ними %)
Соотв в [0; 1] попадет четверть всех флоатов.
Если совсем точно, то 126 * 2**23 + 1 == 1,056,964,609. Позитивные экспоненты * мантисса + само число 1 = миллиард с кусочком, или 2**30 как приближение, то есть 1/4 от 2**32.
А код для [x;y] я сам не написал, поэтому можете не спрашивать, задание было для хардкорщиков, но видно таких не нашлось.
Так устроена природа, как говорил мощный физик из ДонНУ.
Ссылочки:
любимец многих Daniel Lemire (советую его блог, особого хардкора жаль нет, но порой интересно)
https://lemire.me/blog/2017/02/28/how-many-floating-point-numbers-are-in-the-interval-01/"Дизассемблер флоатов"
https://float.exposed/0x42304000И хорошее описание внутренностей флоатов
http://fabiensanglard.net/floating_point_visually_explained/