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



         

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


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

Масштабирование чисел

Слово "масштабирование" применяется в том же смысле, что и в технике, когда делается чертеж, который отображает объект в увеличенном виде. Предположим, что вам нужно рассмотреть синьку часового винта. Если винт имеет длину всего 1 мм, его нужно изобразить в каком-то масштабе, например 100:1. Это значит, что чертеж должен быть выполнен в масштабе, в 100 раз превышающем истинные размеры. Подобным образом карта может быть масштабирована в обратную сторону, скажем, 1 см вместо 1 км, т.е. 1:100000.

Проще всего показать масштабирование на примере. Предположим, вы хотите сложить в столбик доходы, выраженные в долларах, хотя они сейчас выражены в долларах и центах. В целочисленной арифметике на Форте вы, к примеру, не можете сложить 22.98 и 35.53. Но вы можете произвести сложение, если выразите доходы в центах, а не в долларах. Другими словами, вы можете изменить масштаб входных данных и внутреннего представления операций с денежными единицами в 100 раз. В таком случае вы введете 2298 3533 + . и увидите в результате 5831, что, как вы помните, представляет собой 58 долларов 31 цент. Однако в таком виде результат выглядит не очень красиво. Вы можете выразить результат в долларах и центах с помощью следующего слова: $CENTS 100 /MOD U. " Долларов и" . ." центов" ;

Слово $CENTS производит деление числа на 100, округляет результат в сторону нижней границы и печатает его как число долларов. Остаток от деления выражает центы. (В гл. 5 мы узнаем метод, который называется выводом по шаблону, с помощью которого десятичная запятая может быть помещена в числе в любом месте.) Очень удобно для использования при масштабировании чисел слово /МОD) (его иногда называют масштабным оператором), фактически оно позволяет вам "пересчитать" число.


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