Конкретно в вашем примере происходит вот что:
1) переменной "а" присваивается значение 1736704
2) переменная "а" переводится в float, получается значение 1736704.0
3) производится деление чисел с плавающей точкой- 1736704.0 на 65536.0
4) результат деления (26.5) записывается в переменную "b"
Настоящее преобразование чисел, о котором вы и спрашиваете, происходит только на шаге 2. В архитектуре x86 оно происходит с использованием специальных ассемблерных команд и floating-point сопроцессора. То есть быстро и автоматически. В более простых архитектурах это может быть реализовано программно (всего лишь вычислить экспоненту и мантиссу)
https://ru.wikipedia.org/wiki/%D0%AD%D0%BA%D1%81%D...