¦X¦: различия между версиями

Материал из ПМК вики
Перейти к навигации Перейти к поиску
Нет описания правки
Нет описания правки
Строка 11: Строка 11:
Слово |X| является «обёрткой» вокруг команды ЭКВМ [[K ABS|К |x|]].
Слово |X| является «обёрткой» вокруг команды ЭКВМ [[K ABS|К |x|]].


== FABS в стандарте ANS Forth ==
== ABS и FABS в стандарте ANS Forth ==
6.1.0690  ABS                                "abs"                      CORE
            ( n -- u )
            u - абсолютное значение n.
 
  12.6.2.1474  FABS                          "f-abs"              FLOATING EXT
  12.6.2.1474  FABS                          "f-abs"              FLOATING EXT
             ( F: r1 -- r2 ) or ( r1 -- r2 )
             ( F: r1 -- r2 ) or ( r1 -- r2 )
             r2 - абсолютное значение r1.
             r2 - абсолютное значение r1.
== ABS в стандарте ANS Forth ==
6.1.0690  ABS                                "abs"                      CORE
            ( n -- u )
            u - абсолютное значение n.


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

Версия от 15:14, 5 июня 2016

|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.

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.

История

В отличие от Форта-83, в Каллисто абсолютная величина -32768 равна 32768.

Реализация

У Баранова-Ноздрунова приводится следующее определение слова |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

Ссылки


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


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