¦X¦

Материал из ПМК вики
Перейти к навигации Перейти к поиску

|X| (абсолютное значение) — традиционное слово Каллисто. Вычисление модуля.

|X|            ( x −− p )                           Вычисление модуля. p := |x|

p — абсолютная величина числа x, т.е. тоже значение числа, но непременно положительное.

Для нуля и положительных чисел p=x, для отрицательных чисел p=−x.

Ввод слова |X|

В режиме NUM последовательно нажмите клавиши  F   П     Р-ГРД-Г   0     P   F   П 

Детали реализации

Слово |X| является «обёрткой» вокруг команды ЭКВМ К |x|.

ABS и FABS в стандарте ANS Forth

 6.1.0690   ABS                                 "abs"                       CORE
            ( n -- u )
            u - абсолютное значение n.

 12.6.2.1474   FABS                           "f-abs"               FLOATING EXT
            ( F: r1 -- r2 ) or ( r1 -- r2 )
            r2 - абсолютное значение r1.

История

В отличие от Форта-83, в Каллисто абсолютная величина -32768 равна 32768. В Форте−79 и последующих называется ABS

В Каллисто имя |X| восходит к надписи на клавиатуре советского ПМК «Электроника МК-61», выпущенного в 1984 году.

ABS в предыдущем стандарте Forth-83 (англ.)

     ABS          n -- u                        79          "absolute"
          u is the absolute value of n.  If n is -32,768 then u is the
          same value.  See:  "arithmetic, two's complement"

ABS в стандарте Forth-79 (англ.)

ABS            n1 -- n1                      108         "absolute"
    Leave the absolute value of a number.

ABS в fig-FORTH Release 1 glossary, май 1979 (англ.)

ABS           n  ---  u                        L0
       Leave the absolute value of n as u.

Реализация

У Баранова-Ноздрунова приводится следующее определение слова |X| (стр. 28):

 : |X|   ( A ---> абс A )    ↑ 0< IF /−/ THEN ;

Слово |X| в ядре ФОРТ-ЕС работало лишь с целыми числами. Оно называлось ABS и определено через арифметику числовых пар, отсутствующую в Каллисто:

ABS       N1->N2 АБСОЛЮТНАЯ ВЕЛИЧИНА                            17

                     Экран номер 17
( 31.03.86   NEGATE ABS + - 1+ 1- 2+ 2- +!  1+!  )

: ABS ( N1->+N2) S>D DABS DROP ;

В FORTH ИТЭФ слово |X| также называлось ABS, работало с целыми и было примитивом. Вот его определение:

            HEAD     203Q,'AB',323Q,ABS                   ; ABS
            POP  AX
            CMP  AX, 0
            JNS  AB
            NEG  AX
   AB:      PUSH AX
            NEXT

Ссылки


  У этой статьи нет иллюстраций. Вы можете помочь проекту, добавив их.


  Это заготовка статьи. Вы можете помочь проекту, дополнив её.