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



         

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


Поскольку арифметические действия часто выполняются в циклах много раз, скорость исполнения выдвигается на первое место. Самый существенный аргумент против включения чисел с плавающей запятой в стандарт состоит в том, что в таком случае приносится в жертву скорость работы. Но насколько серьезен этот аргумент? Посмотрим, как работает Фортран или Бейсик (и многие другие языки). Именно с учетом всех за и против, которые мы обсуждаем, другие языки дают программисту свободу принимать решение, обращаться ли с числами как с целыми или как с числами с плавающей запятой. В Форте это также возможно, правда, не во всех версиях.

Возможность пользоваться числами с плавающей запятой должна быть решающим критерием при выборе подходящей версии Форта. И решение этого вопроса возлагается на программиста.

Для некоторых микрокомпьютеров вопрос об использовании чисел с плавающей запятой становится еще более критичным. Как мы увидим дальше, в некоторых компьютерах доступно так называемое сопроцессорное арифметическое устройство, которое практически представляет собой еще один компьютер, предназначенный для выполнения операций над числами с плавающей запятой, причем с очень высоким быстродействием, повышенной точностью и в расширенном диапазоне чисел. Наиболее известным примером может служить сопроцессор фирмы Intel типа 8087, который может быть использован в IBM PC и совместимых с ней ЭВМ. Микросхема 8087 представляет числа 80-разрядами, при этом мантисса числа может иметь до 18 знаков, а порядок от -4600 до 4600 (в буквальном смысле можно представлять числа больше, чем оценка числа электронов во вселенной). По причине того, что 8087 использует стек так же, как Форт, ее стек можно частично использовать для операций с плавающей запятой. Поэтому Форт с сопроцессором 8087 может выполнять некоторые операции с плавающей запятой с потрясающими точностью и диапазоном и значительно быстрее, чем ЦПУ с 16-разрядными числами. Учитывая, что ЭВМ с сопроцессором 8087 могут также работать с памятью объемом до 1 Мбайта, аргументы в пользу применения целых чисел для экономии времени и памяти, а также получения большей точности становятся слишком слабыми.


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