Я пытаюсь выяснить алгоритм этого, но все, что я получаю с Google, делает это с помощью кастинга. Мне нужно знать подробности.
Итак, если у нас есть число с плавающей запятой x и мы хотим вернуть его двоичное представление, что нам нужно сделать?
Я знаю, что нам нужно вернуть float, если его NaN или бесконечность, но в противном случае, каковы шаги?
ИЗМЕНИТЬ
Функция принимает беззнаковое целое число, которое будет использоваться, как если бы это было число с плавающей запятой, а затем возвращает целое число, которое представляет собой число. Я не могу использовать приведение, только условные выражения и побитовые операторы.
float
вint
просто обрезает реальную часть числа. Вам понадобится некоторая (довольно краткая) магия указателя, чтобы получить битовый образец поплавка. Хотя со всем остальным я согласен. - person zneak   schedule 13.09.20112.5
? - person Keith Thompson   schedule 13.09.2011