Для того, чтобы понять это Мы должны вернуться к книге, которую я прочитал давно. Концепция, применяемая здесь называется Сужение Преобразование в котором говорится
«сужающее преобразование из целого числа к интегральному типу T просто отбрасывает все, кроме п низших битов порядка, где п число битов используется для представляют тип T. В дополнение к возможной потере информации о величине числового значения это может привести к тому, что знак результирующего значения будет отличаться от знака входного значения. »
Эта же концепция применяется к преобразованию из double в float. Это преобразование может потерять точность и дальность, что приведет к нулевому поплавку с нуля, а бесконечность float преобразуется в тот же подписанный float.