Язык программирования Форт



         

Глава 4. Еще об арифметических операциях - часть 29


В MMSFORTH имеется хороший набор расширяющих слов, которые мы используем в качестве примера. Если в вашем распоряжении есть версия, в которой также используются числа с плавающей запятой, то она скорее всего похожа на MMSFORTH и вам, вероятно, будет интересно проследить за этим обзором, привлекая документацию вашей версии. Мы уже рассмотрели, что представляют собой числа с плавающей запятой и числа в показательной форме. После этого вы, возможно, захотите перейти к материалу о реализации операций с плавающей запятой в MMSFORTH. Мы предполагаем, что вы уже поняли представление чисел с плавающей запятой, "научную" форму представления чисел, как записываются числа в показательной форме и арифметические действия с ними. Во многих компьютерах имеется встроенный интерпретатор языка Бейсик, выполненный на основе ПЗУ - постоянной памяти (по английски ROM- Read Only Memory, т.е. только считываемая память). Этот интерпретатор, написанный в машинных кодах, производит множество операций над числами с плавающей запятой. Кроме обычных операций умножения, деления, сложения и вычитания в нем имеются программы вычисления трансцендентных функций (например, тригонометрических и логарифмической), а также большое количество операций с целыми числами. Вследствие того, что MMSFORTH первоначально был разработан для работы с ЭВМ TRS-80, модель 1, совместимой с IBM PC, и, поскольку обе ЭВМ имеют встроенный Бейсик, "зашитый" в ПЗУ, обычные операции над числами с плавающей запятой производятся путем вызова машинных программ из ПЗУ.

Так как обе машины могут работать с числами с плавающей запятой, представляемыми 32 и 64 разрядами, то MMSFORTH может оперировать с числами одинарной и двойной точности. Обратив внимание, что эти числа принципиально отличаются от целых чисел Форта одинарной и двойной длины (в связи с чем лучше говорить о целых числах как о числах двойной длины, а не двойной точности). Числа с плавающей запятой одинарной точности обеспечивают 5 значащих разрядов > диапазон 9.9999Е-38 - 1Е38.


Содержание  Назад  Вперед