Преобразование Int в Float или Float в Int с использованием побитовых операций (программная плавающая точка)

Мне было интересно, если вы могли бы помочь объяснить процесс преобразования целого числа в число с плавающей точкой или с плавающей точкой в целое число. Для моего класса мы должны сделать это, используя только побитовые операторы, но я думаю, что четкое понимание приведения типов к типу поможет мне больше на этом этапе.

Из того, что я знаю до сих пор, для int с плавающей точкой вам нужно будет преобразовать целое число в двоичное, нормализовать значение целого числа, найдя значениязначность, экспонента и дробь, а затем вывести оттуда значение с плавающей точкой?

Что касается float для int, вам придется разделить значение на значимую, экспоненту и дробь, а затем поменять приведенные выше инструкции, чтобы получить значение int?

Я пытался следовать инструкциям из этого вопроса:Приведение float к int (поразрядно) в C.

Но я не был в состоянии понять это.

Кроме того, кто-то может объяснить, почему округление будет необходимо для значений больше 23 бит при преобразовании int в float?

Ответы на вопрос(3)

Ваш ответ на вопрос