Перевести дробное число из 10 сс в 2 сс с++
Требуется написать программу на с++ для перевода чисел типа double и float из 10 сс в 2 сс двумя способами: classic и union. Классик я уже реализовал, т.е. разбил число на целую и дробную часть, нашел экспоненту и посчитал мантиссу. С union все намного сложнее, гугл не помогает. Есть догадка, что нужно объеденить вещественное число и массив чаров, но как именно не могу разобраться. Заранее спасибо за ответ.