powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Формат действительных чисел с плавающей точкой
1 сообщений из 1, страница 1 из 1
Формат действительных чисел с плавающей точкой
    #32793704
PavelT100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем известен формат IEEE действительных чисел с плавающей точкой одинарной точности.
1 бит под знак(s),8 бит под порядок-экспоненту(e), 23 бита под мантиссу (m). Итого 32 бита, 4 байта.
Порядок хранится как целое число без знака с уклоном 127, то есть из этого числа надо вычесть 127 и это число будет степень двойки. Число можно вычислить так (-1)^s*2^(e-127)*(1+m/2^23).
Когда действительное число имеет двойную точность и занимает 8 байт, тоже все понятно, там под экспоненту отводится 11 бит, и 52 под мантису и число можно вычислить так (-1)^s*2^(e-1023)*(1+m/2^52).
Если на Си читать файл двоичных данных, то достаточно прочитанные 4 байта, в которых записано число одинарной точности, преобразовать к float для того чтобы получить нужное действительное число одинарной точности:
char v[4];
... //считываем v
float q = *(float*)v;


Но вот есть у меня файлы данных в которых в 4 байтах записано действительное число, под знак отведен 1 бит, показатель 11 и под мантиссу оставшиеся 20, то есть (-1)^s*2^(e-1023)*(1+m/2^20).
Что это за формат ? Как с ним работать ? Есть ли стандартные функции для работы с таким форматом ?
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Формат действительных чисел с плавающей точкой
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]