Да, я знаю стандарт полуточности IEEE-754, и да, я знаю о работе, выполненной в этой области. Проще говоря, я пытаюсь сохранить простой номер с плавающей запятой (например, 52.1
, или 1.25
) всего за 2 байта.Как сохранить число с плавающей запятой в 2 байта?
Я пробовал некоторые реализации в Java и в C#, но они разрушают входное значение, декодируя другое число. Вы подаете в 32.1
и после кодирования-декодирования вы получаете 32.0985
.
Есть ли способ сохранить числа с плавающей запятой всего в 16 бит, не разрушая входное значение?
Большое спасибо.
Бинарные плавающие точки не могут кодировать '32.1' – CodesInChaos
Какой диапазон чисел вам нужен для кодирования и сколько значительных цифр у них есть? Рассмотрим десятичные фиксированные или плавающие точки. – CodesInChaos
Можете ли вы сохранить его как 'unsigned short', с некоторыми битами, которые используются для экспоненциальной части? Затем вы вручную конвертировали бы обратно из этого формата в обычную единую точность 'float'. – Matthew