Библиотека knigago >> Компьютеры: Языки и системы программирования >> Forth >> Руководство по программированию на Форте


СЛУЧАЙНЫЙ КОММЕНТАРИЙ

# 1040, книга: Бросай!
автор: Саша Кор

«Бросай!», эпический роман в жанре героической фантастики из-под пера талантливого автора Саши Кор, является захватывающим и захватывающим путешествием, которое оставит читателей в трепете. История разворачивается вокруг группы молодых людей из разных слоев общества, которых объединяет общая цель: остановить полчища ужасных существ, грозящих уничтожить их мир. По мере того, как они отправляются в опасное путешествие, они сталкиваются с опасными противниками, коварными ловушками и внутренними...

СЛУЧАЙНАЯ КНИГА

Илья Тарасов - Руководство по программированию на Форте

Руководство по программированию на Форте
Книга - Руководство по программированию на Форте.  Илья Тарасов  - прочитать полностью в библиотеке КнигаГо
Название:
Руководство по программированию на Форте
Илья Тарасов

Жанр:

Руководства и инструкции, Самиздат, сетевая литература, Литература ХXI века (эпоха Глобализации экономики), Программирование: прочее, Forth

Изадано в серии:

неизвестно

Издательство:

Интернет-издательство «Stribog»

Год издания:

ISBN:

неизвестно

Отзывы:

Комментировать

Рейтинг:

Поделись книгой с друзьями!

Помощь сайту: донат на оплату сервера

Краткое содержание книги "Руководство по программированию на Форте"

Краткое введение в современный Форт.

Читаем онлайн "Руководство по программированию на Форте". [Страница - 28]

Иллюстрация № 12" title="Книгаго, чтение книги «Руководство по программированию на Форте» [Картинка № 12]"> Книгаго: Руководство по программированию на Форте. Иллюстрация № 13 Отдельное внимание необходимо уделить обратным тригонометрическим функциям. Арксинус сложнее для вычисления, но его аргумент имеет естественное ограничение и не превышает радиус сходимости. В то же время арктангенс определен на всей области действительных чисел, в том числе и за пределами радиуса сходимости. В этом случае можно воспользоваться следующим преобразованием:

Книгаго: Руководство по программированию на Форте. Иллюстрация № 14 Таким образом, если аргумент арктангенса находится за пределами радиуса сходимости, т.е. больше 1, можно найти арктангенс величины 1/x, который даст дополнение искомого угла до Книгаго: Руководство по программированию на Форте. Иллюстрация № 15.

На практике достаточно ограничиться первыми N членами ряда. Число N может быть фиксировано, а может выбираться таким образом, чтобы значение N+1-го члена ряда не превышало некоторой величины. Альтернативным вариантом является оценка по относительной ошибке – величина следующего члена ряда, отнесенная к уже накопленной сумме, должна быть меньше заранее заданного предела. Последний вариант более предпочтителен, так как позволяет обеспечить точное заполнение мантиссы результата при различных значениях аргумента.

Обработка рядов является достаточно сложной задачей даже для современных высокопроизводительных процессоров. Поскольку последующий член ряда удобнее всего получить непосредственно из предыдущего, вычисления обычно производятся последовательно. Ввиду этого трансцендентные функции вычисляются за несколько десятков и даже сотен тактов.

Если вернуться к ряду Тейлора – базовому для рассматриваемых функций, то можно заметить, что он использует некоторую опорную точку, которая обычно выбирается равной нулю. В соответствии с этим оказывается возможным аналитически получить значения производных в опорной точке, результатом чего и явились приведенные выше ряды. Однако ничто не мешает выбрать опорную точку в другом диапазоне значений аргумента. После пересчета производных и получения новых коэффициентов при членах ряда можно существенно улучшить сходимость ряда (которая тем лучше, чем ближе аргумент находится к опорной точке), ограничив число членов ряда, подлежащих вычислению.

Разновидностью подобного подхода является использование таблиц трансцендентных функций с интерполяцией результатов. Использование таблиц вообще довольно эффективно и позволяет при наличии достаточного объема памяти отказаться от вычисления функций, заменив его выборкой из таблицы. Такой подход успешно применяется в графических программах, в которых для получения экранных координат с помощью тригонометрических преобразований не требуется высокая точность.

Форматные преобразования

Для обеспечения поддержки вещественных чисел необходимо решить проблемы преобразования между вещественным и целочисленным и между вещественным и строковым форматами.

Для формата с фиксированной точкой достаточно воспользоваться тем фактом, что целая часть представляемого числа находится в его старших разрядах. Это позволяет достаточно просто переходить от целочисленного формата к формату с фиксированной точкой и обратно.

Для формата с плавающей точкой необходимо вначале денормализацией привести число к нулевому порядку (точнее, к значению порядка, соответствующему отсутствию сдвига точки, см. описание формата с плавающей точкой). В этом случае сдвиг точки в мантиссе отсутствует и можно указать разряды, содержащие целую часть числа. Аналогично (записью в целую часть с последующей нормализацией) производится преобразование из целочисленного формата в формат с плавающей точкой.

Для печати числа с плавающей точкой можно воспользоваться следующим алгоритмом:

1) Производится нормализация десятичного представления числа (мантисса приводится к --">

Оставить комментарий:


Ваш e-mail является приватным и не будет опубликован в комментарии.