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


Коллектив авторов Словарей и энциклопедий Детская образовательная литература Дети младшего и среднего школьного возраста Отличная Четвертый том "Детской энциклопедии" посвящен растительному и животному миру нашей планеты. Книга разделена на два раздела: "Растения" и "Животные". В разделе "Растения" читатели познакомятся с многообразием растительного мира, от простейших водорослей до гигантских секвой. Дети узнают о строении растений, их...

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

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

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

Жанр:

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

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

неизвестно

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

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

Год издания:

ISBN:

неизвестно

Отзывы:

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

Рейтинг:

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

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

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

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

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

массив, содержащий числа другого типа рекомендации такие же, как и для предыдущего примера. Учтите также, что при работе с вещественными чис­лами вместо 0 необходимо использовать запись 0.0 и F! вместо !, пос­кольку целочисленный и вещественный стеки различаются и автоматического преобразования чисел не происходит.


Вычисление суммы элементов массива.


: SUM ( --> SUM )

   0

   250 0 DO

      I 4 * ARRAY[] + @ +

   LOOP

;


Перед выполнением основного цикла на стек кладется 0, к которому будут прибавляться остальные элементы. Дальнейшее накопление суммы происходит в основном цикле.

Строка до слова @ включительно уже знакома - она кладет на стек элемент с номером I. Слово + (плюс) после него добавляет этот элемент к предварительно положенному на стек нулю. Повторение этой операции для всех элементов массива последовательно увеличивает сумму. В ре­зультате после выхода из цикла вместо нуля на стеке будет находиться сумма всех элементов массива.

Организация вычислений с вещественными числами

Способы представления вещественных чисел и арифметические операции

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

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

Формат с фиксированной точкой весьма прост для реализации на процессорах с целочисленной системой команд и достаточно эффективен для ряда применений. Для представления некоторого числа в этом формате достаточно умножить его на заранее определенную константу (удобнее всего на целую степень двойки – сдвинув на несколько разрядов влево). Например, если мы выбираем в качестве такой константы 1000, то число 3,54 будет записано в виде 3,54*1000 = 3540. На самом деле это целочисленная запись, но вместо количества единиц указывается количество тысячных долей. Для получения истинного значения числа оказывается достаточно поставить десятичную точку в некоторую фиксированную (в нашем случае – отделив точкой три младших разряда) позицию, откуда и появилось название формата.

На практике под дробную часть числа обычно отводят фиксированное количество двоичных разрядов. Например, в 16-разрядном числе первые 8 разрядов могут представлять целую часть числа, а остальные – дробную часть. Такой формат обозначается как 8:8, где перед двоеточием указывается количество двоичных разрядов для целой части, а после двоеточия – для дробной части числа. В зависимости от решаемой задачи можно использовать различное количество разрядов как для целой, так и для дробной части. Например, возможны форматы 12:4, 16:16 или даже 32:32. В последнем случае целая и дробная части хранятся в отдельных 32-разрядных ячейках памяти.

Правила выполнения арифметических действий над числами с фиксированной точкой достаточно просты. Сложение и вычитание выполняется точно так же, как и для целых чисел. Например:


00000001,10000000+00000010,01000000=00000011,11000000


Переведя двоичные значение в соответствующие им числа с фиксированной точкой, получаем:


1,5+2,25=3,75


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

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


10010001 = 1·27+0·26+0·25+1·24+0·23+0·22+0·21+1·20,


то и для записи с фиксированной точкой сохраняется тот же принцип, но после точки степени двойки становятся отрицательными:


--">

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


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