Суббота, 09 Ноя 2024, 05:32
Uchi.ucoz.ru
Меню сайта
Форма входа

Категории раздела
Высшая математика [11]
Экономическая социология [95]
Основы Менеджмента [64]
Бухгалтерский учёт [157]
Философия [163]
Мировая Экономика [603]
Бизнес планирование [29]
Финансирование и кредитование инвест [105]
Ценообразование [46]
Гражданское право [196]
Права Человека [173]
Основы Маркетинга [207]
Основы энергосбережения [55]
Информатика [0]
Экология и устойчивое развитие [0]
Физика для студентов [0]
Основы права [0]
Политология [0]
Не стандартные примеры на Delphi [169]
Примеры на Delphi7 [108]
Алгоритмы [94]
API [110]
Pascal [152]
Базы Данных [6]
Новости
Чего не хватает сайту?
500
Статистика
Зарегистрировано на сайте:
Всего: 51642


Онлайн всего: 55
Гостей: 55
Пользователей: 0
Яндекс.Метрика
Рейтинг@Mail.ru

Каталог статей


Главная » Статьи » Студентам » Pascal

Преобразование формата MS BINARY в IEEE
"Использование, независимое от машинного уровня" не так просто в реализации с
процессорами, выпущенными до Intel-го математического сопроцессора 80x87. Я не
уверен в том, что процессоры 80x86 имели какие-либо родные инструкции для
выполнения операций с плавающей точкой. По-видимости, поэтому Microsoft создал
свой собственный формат для чисел с плавающей точкой; он сам осуществлял всю
арифметику с помощью библиотеки времени выполнения. Сегодня 80x87 осуществляет
такую арифметику автоматически, и IEEE теперь стандарт.
Delphi хранит следующие типы чисел с плавающей точкой в формате IEEE:

Single 4 байт
Double 8 байт
Extended 10 байт
Обратите внимание на то, что тип Real (6 байт)
отсутствует в данном списке. Я могу ошибаться, но мне кажется что тип Real -
синтезированный в Pascal тип; он может без особых проблем существовать на
процессорах ниже 80x87.

[В сторону: электронная справка Delphi сообщает, что по умолчанию (через
директиву компилятора $N+), компилятор будет генерировать код для выполнения
ВСЕХ операций с плавающей точкой, используя инструкции 80x87, включая тип Real.
Также, для работы с типом Real, компилятор генерирует вызовы библиотеки времени
выполнения, или же я полностью неправ в вышесказанном! smile ]

Во всяком случае, в электронной справке Visual Basic я увидел, что VB
оперирует с типами данных Single и Double, которые также относятся к типу IEEE,
и идентичны Delphi-типам Single и Double. Тем не менее, в справке отсутствует
упоминание "Microsoft Binary Format".

Для того, чтобы разобраться в вопросе, я "опустился" до DOS и запустил
QBasic, новую версию интерпретатора Microsoft QuickBasic, включаемую теперь в
поставку DOS. Если мы посмотрим в электронную справку, то увидим следующее:

MKSMBF$ и MKDMBF$ преобразуют числа формата IEEE в "числовые строки" формата
Microsoft-Binary, которые могут храниться в строковых переменных типа FIELD.
CVSMBF и CVDMBF преобразуют эти строки обратно в числа формата IEEE.

MKSMBF$(выражение-единичной-точности!)
MKDMBF$(выражение-двойной-точности#)
CVSMBF (4-байтовая-числовая-строка)
CVDMBF (8-байтовая-числовая-строка)

Функция Возвращаемое значение

MKSMBF$ 4-байтовая строка, содержащая число в формате Microsoft-Binary-format
MKDMBF$ 8-байтовая строка, содержащая число в формате Microsoft-Binary-format
CVSMBF Число единичной точности в формате IEEE
CVDMBF Число двойной точности в формате IEEE
Эти функции могут
оказаться полезными при поддержке файлов данных, созданных с помощью старых
версий Basic.

Суммируя вышесказанное, можно дать 3 рекомендации для получения доступа к
вашим "MetaStock"-файлам:

Напишите вашу программу в QBasic/DOS
Найдите замену (с учетом совместимости с Delphi) для функций преобразований,
упомянутых выше.
Напишите эти функции сами. Вы должны найти документацию для старых типов
Single и Double, применявшихся в "Microsoft Binary Format", возможно в
справочных файлах старых версий MS Basic.
Категория: Pascal | Добавил: Lerka (22 Ноя 2012)
Просмотров: 393 | Рейтинг: 1.0/ 7 Оштрафовать | Жаловаться на материал
Похожие материалы
Всего комментариев: 0

Для блога (HTML)


Для форума (BB-Code)


Прямая ссылка

Профиль
Суббота
09 Ноя 2024
05:32


Вы из группы: Гости
Вы уже дней на сайте
У вас: непрочитанных сообщений
Добавить статью
Прочитать сообщения
Регистрация
Вход
Улучшенный поиск
Поиск по сайту Поиск по всему интернету
Наши партнеры
Интересное
Популярное статьи
Портфолио ученика начальной школы
УХОД ЗА ВОЛОСАМИ ОЧЕНЬ ПРОСТ — ХОЧУ Я ЭТИМ ПОДЕЛИТ...
Диктанты 2 класс
Детство Л.Н. Толстого
Библиографический обзор литературы о музыке
Авторская программа элективного курса "Практи...
Контрольная работа по теме «Углеводороды»
Поиск
Главная страница
Используются технологии uCoz