ОПЕРАЦИИ НАД ЧИСЛАМИ ДВОЙНОЙ ДЛИНЫ
Слова для выполнения операций над числами двойной длины имеются не во всех Форт-системах. В некоторые системы они включены на правах выборочных, т. е. прежде чем ими пользоваться, вы должны их загрузить.
Ниже приводится перечень слов двойной длины для выполнении математических операций. D+ ( dl d2 -- d-сумма) Сложение двух 32-разрядных чисел.
D- ( dl d2 -- d-разность) Вычитание одного 32-разрядного числа ив другого (dl-d2).
DNEGATE ( d -- -d) Изменение знака 32-разрядного числа на противоположный.
DABS ( d1 -- |d|) Занесение в стек абсолютного значения 32-разрядного числа.
DMAX ( d1 d2 -- d-max) Занесение в стек максимального из двух 32-разрядных чисел.
DMIN ( d1 d2 -- d-min) Занесение в стек минимального из двух 32-разрядных чисел.
D= ( d1 d2 -- ?) Занесение в стек истины в случае равенства d1 и d2.
D0= ( d -- ?) Занесение в стек истины, если d равно нулю.
D< ( d1 d2 -- ?) Занесение в стек истины, если dl меньше d2.
DU< ( ud1 ud2 -- ?) Занесение в стек истины, если ud1 меньше ud2. Оба числа без знака.
D.R ( d ширина -- ) Вывод 32-разрядного числа со знаком. Число выравнивается справа внутри поля заданной ширины.
Буква D в начале каждого выражения означает, что указанная операция может выполняться только над числами двойной длины, а цифра 2 в начале слова, в частности 2SWAP и 2DUP, - что данная операция может выполняться как над числами двойной длины, так и над парами чисел одинарной длины. Пример выполнения операции D+ :200000. 300000. D+ D. 500000 ok