[X]

Материал из ПМК вики
Версия от 17:38, 10 ноября 2017; AtH (обсуждение | вклад) (→‎Реализация)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Перейти к навигации Перейти к поиску

[X] (усечение) — традиционное слово Каллисто. Усечение числа.

[X]            ( x −− x1 )                          Усечение (целая часть) числа. x1 := Trunc [x]

x1 — усечение x (англ. truncation). Значащие цифры, стоящие после десятичной запятой, отбрасываются. Знак числа не меняется.

Ввод слова [X][править]

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

FLOOR в стандарте ANS Forth[править]

12.6.1.1558   FLOOR                                                    FLOATING
           ( F: r1 -- r2 ) or ( r1 -- r2 )
           Округление r1 к целому значению, использующему правило "округления 
           к отрицательной бесконечности", возвращает r2.

FROUND в стандарте ANS Forth[править]

12.6.1.1612   FROUND                    "f-round"                      FLOATING
           ( F: r1 -- r2 ) or ( r1 -- r2 )
           Округляет r1 к целому значению, использующему правило "округления к 
           ближайшему", возвращает r2.
       См.: 12.3.2 Операции c плавающей точкой.

История[править]

Слово [X] повторяет особенности округления, характерные для советских калькуляторов «Электроника МК-61» и «Электроника МК-52».

В Форте FSP88 слово [X] известно под именем INT

В черновике стандарта Форт-2012 слово [X] называется FTRUNC

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

Реализация[править]

В Каллисто 1.0 слово [X] является «обёрткой» вокруг команды ЭКВМ К[x]:

1645 ;#FTRUNC
1646 ; [X]              ( x −− x1 )                          Усечение (целая часть) числа. x1 := Trunc [x]
1647 LINT:           .DB     3                       ; ( x −− [x] )
1648                 .TEXT   "[X]"
1649                 .DW     LSGN
1650 INT:            .DW     JINT
1651 JINT:           PKRM03 KINT PKM03  KGOTO9       ; Обёртка вокруг KINT.

Математическая операция взятия целой части даёт пол числа (англ. floor), то есть производит округление числа к отрицательной бесконечности. Её наиболее точное обозначение $\lfloor x \rfloor$. Для отрицательных чисел действие слова [X] отличается от $\lfloor x \rfloor$, т.к. [X] округляет число x к нулю.

Реализация из SP-Forth 4.20:

CODE FINT
       FRNDINT
       RET
END-CODE

Ссылки[править]


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


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