Spotkałem się z tym problemem w praktyce i chociaż odpowiedzi @hauleth dałem plusa, to trzeba mieć na uwadze to, na co zwrócił uwagę @MarekR22
ergo ten sam kod może dać zupełnie inny wynik na różnych platformach
By mieć pewność, że rozwiązanie nie ugryzie mnie w przyszłości w tyłek problem rozwiązałem poprzez liczenie numeratora i denominatora. Chociaż jest nieco wolniejsze niż memcpy to jednak posiadanie reprezentacji, która matematycznie odwróci Ci z powrotem tego samego (albo prawie tego samego w zależności jakie podejście wybierzesz) float'a niezależnie od implementacji/reprezentacji liczb zmiennoprzecinkowych w procesorze daje większy komfort. Szczególnie że w sytuacji w której poszukuje się takich rozwiązań to najczęściej na potrzeby jakiejś serializacji, która już sama w sobie dostarcza problemów związanych ze sprzętem jak endianness naprzykład.