Обсуждение:Число одинарной точности
Общий шаблон для побитового доступаПравить
Только что попробовал предложенный Общий шаблон для побитового доступа. Разбор числа на поля - все хорошо. С восстановлением -проблеммы.
Мантисса 'm' это число представляющее нормализованную мантиссу, и оно должно быть дробным (вида '1.2345'). Однако на выходе алгоритма это целое число, представляющее нормализованную мантиссу в двоичном коде. Поэтому для правильного восстановления числа нужно формулу указанную в статье (s * m * (2 ^(e-127))
) дополнить умножением на 2^-23 (23 - разрядность мантиссы: 22 бита в самом числе float и 1 бит - единичка, целая часть нормализованной мантиссы).
Т.о. разбор числа на отдельные поля 's','m','e' будет выполнятся с помощью предложенных шаблонов, а восстановление по формуле s * (m * 2^(-23)) * (2^(e-127))
.
Jettec1 (обс) 15:16, 20 августа 2016 (UTC)Ответить[ответить]
Добавил пример реализации на Python. Jettec1 (обс) 15:16, 20 августа 2016 (UTC)Ответить[ответить]
Фильтр повторов не пропускает длинных двоичных чисел 0011 1110 0010 <еще 20 нулей>
(32бита). Что можно сделать?
Jettec1 (обс) 15:28, 20 августа 2016 (UTC)
Ответить[ответить]
Эта статья тематически связана с вики-проектом «Информационные технологии», цель которого — создание и улучшение статей по темам, связанным с информационными технологиями. Вы можете её отредактировать, а также присоединиться к проекту, принять участие в его обсуждении.
Статью ещё никто не оценил по шкале оценок проекта |