Форум программистов, компьютерный форум CyberForum.ru

Как определить порядок бит в double? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Розв'язування задач обробки масивів http://www.cyberforum.ru/cpp/thread1340012.html
9. У прямокутній матриці кожен нульовий елемент замінити середнім арифметичним значенням ненульових елементів того рядка, в якому розташований даний нульовий елемент. Якщо в рядку декілька нульових елементів, то вони повинні бути замінені одним і тим же значенням
C++ Розв'язування задач обробки масивів» Скласти програму для підрахунку середнього арифметичного додатніх елементів прямокутної таблиці В, що складається з MN цілих чисел. Сформувати матрицю за допомогою генератора випадкових чисел і організувати її вивід на екран. http://www.cyberforum.ru/cpp/thread1340010.html
9. В одномірному масиві В, що складається з N цілих елементів, з проміжку [-20;10], обчислити суму елементів C++
.В одномірному масиві В, що складається з N цілих елементів, з проміжку , обчислити суму елементів масиву, розташованих між першим та другим додатніми елементами.
C++ У одновимірному масиві В тому, що складається з N цілих елементів, обчислити: a) кількість елементів, рівних з
У одновимірному масиві В тому, що складається з N цілих елементів, обчислити: a) кількість елементів, рівних за значенням першому елементу; b) добуток елементів з проміжку .
C++ Алгоритмы для сжатия изображений, видео и звука http://www.cyberforum.ru/cpp/thread1339887.html
Здравствуйте,форумчане! Не могли бы вы посоветовать алгоритмы сжатия для изображений,звука,видео? И еще один вопрос,возможно, он кому-то покажется глупым:алгоритм Хаффмана сжимает все виды данных? И если да,то можно ссылку на информацию как он это делает?
C++ Задание внутри Ramus Educational Мне нужно создать концептуальную модель торгового предприятия. Скажите пожалуйста, что я должна описать? Как сделать эту модель? подробнее

Показать сообщение отдельно
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
25.12.2014, 07:39  [ТС]     Как определить порядок бит в double?
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Это если надо узнать какой формат у тебя в приладе, хотя это можно просто продефайнить под каждый таргет. Если надо в файле - то соответственно то же самое,
Есть прилада, она сохраняет файл, в памяти было какие то числа типа double, эти числа пишутся в файл. Потом файл читается, возможно на другой машине, возможно другим приложением. Спецификация формата будет выложена в сетке, если стороннее приложение должно его поддерживать, читайте и соблюдайте. Требуется перед самими числами сохранить sizeof(double), отведя на него 64 бита. Перед этим полем уже размещёны префиксные коды и текстовое поле в семибитном ascii. Конечно очень весело грузить с диска текст, в котором символы не кратны байту, но это уже реализовано. А после sizeof(double) надо записать разрядности мантиссы и порядка, порядок частей числа, включая его знак, веса каждого бита, поддерживается ли нормализованная и денормализованная формы и каким именно кодом, хранятся ли мантиссы отрицательных чисел в прямом, или дополнительном коде, а только потом сами числа. Приложение, которое читает файл, должно прочитать все эти разрядности и порядки, потом прочитать сами числа и преобразовать их в некоторое внутреннее представление, а при сохранении файла сохранить все числа уже в своём внутреннем представлении и тоже перед этим записать sizeof(double), разрядности разрядности мантиссы и порядка, порядок частей числа, включая его знак, веса каждого бита, поддерживается ли нормализованная и денормализованная формы и каким именно кодом, хранятся ли мантиссы отрицательных чисел в прямом, или дополнительном коде. Ну знаете, как tiff может хранить данные и в little-endian, и в big-endian. Вот то самое нужно для double. Для целых понятно: сохранить разрядность числа и порядок байт, причём, порядок байт можно закодировать числом той же разрядности, в котором каждый байт равен его порядку по старшенству. То есть, например, для восьмибайтных чисел порядок - это число 0706050403020100 hex, если при чтении файла прочиталось 0001020304050607 hex, 0302010007060504 hex, 0405060700010203 hex, или любое другое значение кода порядка, то для преобразования восьмибайтных числе во внутреннее представление их надо подвергнуть такой же перестановке байтов, при которой прочитанный код порядка превратится в 0706050403020100 hex. А как быть с числами с плавающей запятой?
 
Текущее время: 03:30. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru