Илья Тарасов - Руководство по программированию на Форте
Название: | Руководство по программированию на Форте | |
Автор: | Илья Тарасов | |
Жанр: | Руководства и инструкции, Самиздат, сетевая литература, Литература ХXI века (эпоха Глобализации экономики), Программирование: прочее, Forth | |
Изадано в серии: | неизвестно | |
Издательство: | Интернет-издательство «Stribog» | |
Год издания: | 2022 | |
ISBN: | неизвестно | |
Отзывы: | Комментировать | |
Рейтинг: | ||
Поделись книгой с друзьями! Помощь сайту: донат на оплату сервера |
Краткое содержание книги "Руководство по программированию на Форте"
Краткое введение в современный Форт.
Читаем онлайн "Руководство по программированию на Форте". [Страница - 6]
Для чисел с плавающей точкой обычно выделяется отдельный стек (хотя стандартом допускается их хранение на стеке данных). Для платформы 80x86 естественно использовать аппаратный стек сопроцессора. Некоторым недостатком является его ограниченный объем – всего 8 ячеек, зато производительность Форта на операциях с плавающей точкой существенно возрастает из-за большей близости языка к аппаратуре.
Основные математические операции для чисел с плавающей точкой приведены ниже:
Имя
Стековая нотация
Описание
F+
( F: A, B → F: A + B )
Заменяет два верхних числа со стека с плавающей точкой их суммой.
F–
(F: A, B → F: A - B )
Заменяет два верхних числа со стека с плавающей точкой их разностью.
F*
(F: A, B → F: A * B )
Заменяет два верхних числа со стека с плавающей точкой их произведением.
F/
(F: A, B → F: A / B )
Заменяет два верхних числа со стека с плавающей точкой частным от их деления.
FABS
(F: A → F: |A| )
Возвращает модуль числа.
FNEGATE
(F: A → F: –A )
Изменяет знак числа.
FSQRT
(F: A → F: sqrt A )
Возвращает квадратный корень из числа.
FSIN
(F: A → F: sin A )
Возвращает синус числа.
FCOS
(F: A → F: cos A )
Возвращает косинус числа.
FEXP
(F: A → F: eA )
Возвращает величину eA.
FLN
(F: A → F: lnA )
Возвращает натуральный логарифм числа.
Полный список поддерживаемых операций с плавающей точкой, вообще говоря, зависит от конкретной реализации Форта. Однако из приведенной таблицы понятен основной принцип выполнения вычислений с плавающей точкой – все операнды должны находиться на стеке, а слова Форта последовательно модифицируют их.
Для того, чтобы обеспечить возможность перестановки операндов на стеке с плавающей точкой, стандарт предусматривает набор слов, аналогичный базовым словам для стека данных.
Имя
Стековая нотация
Описание
FDUP
( F: A → F: A, A )
Дублирует верхнее число стека с плавающей точкой
FDROP
(F: A → )
Удаляет верхнее число со стека с плавающей точкой
FSWAP
(F: A, B → F: B, A )
Меняет местами два верхних числа на стеке с плавающей точкой
FOVER
(F: A, B → F: A, B, A )
Кладет на стек с плавающей точкой второе сверху число
FROT
(F: A, B, C → F: B, C, A )
Вращает три верхних числа стека с плавающей точкой в соответствии с приведенной стековой нотацией
FDEPTH
( → A )
Возвращает глубину стека с плавающей точкой, число будет помещено на стек данных
И, наконец, для перемещения чисел между стеком данных и стеком с плавающей точкой существуют следующие слова.
Имя
Стековая нотация
Описание
S>F
( F: A → A )
Переносит число со стека данных на стек с плавающей точкой.
F>S
( A → F: A )
Переносит число со стека с плавающей точкой на стек данных.
D>F
( D → F: A )
Переносит число двойной длины со стека данных на стек с плавающей точкой.
F>D
( F: A → D )
Переносит число со стека с плавающей точкой на стек данных, формируя число двойной длины.
Эти слова выполняют преобразования формата, поэтому используйте их осторожно. Например, 5.1 F>S S>F даст в итоге 5, поскольку при переносе на стек данных было выполнено округление числа.
На основании изученных слов Форта попытаемся рассмотреть пример работы с транслятором. Для этого осталось сделать последний штрих – рассмотреть слова, позволяющие узнать результат вычислений. Ввиду того, что печать числа, находящегося на вершине стека – операция весьма частая, для этой цели используется чрезвычайно короткое слово – . (точка). Соответственно, для печати числа с плавающей точкой используется слово F. (в этом случае вывод произойдет в экспоненциальной форме, то есть в виде x.xxxxEyy; стандартом предусмотрено также слово FE. , выводящее результат в более привычном «инженерном» формате).
Итак, допустим, что нам необходимо найти длину гипотенузы по теореме Пифагора. Исходными данными при этом являются длины катетов. --">Книги схожие с «Руководство по программированию на Форте» по жанру, серии, автору или названию:
Уильям Зинсер - Как писать хорошо. Классическое руководство по созданию нехудожественных текстов Жанр: Руководства и инструкции Год издания: 2013 |
Алексей Анатольевич Гладкий - Готовимся к экзамену в ГИБДД. Комплексное руководство Жанр: Руководства и инструкции Год издания: 2010 Серия: Автокурс |