Редактирование: [X]

Перейти к навигации Перейти к поиску
Внимание: Вы не вошли в систему. Ваш IP-адрес будет общедоступен, если вы запишете какие-либо изменения. Если вы войдёте или создадите учётную запись, её имя будет использоваться вместо IP-адреса, наряду с другими преимуществами.

Правка может быть отменена. Пожалуйста, просмотрите сравнение версий ниже, чтобы убедиться, что это нужная вам правка, и запишите страницу ниже, чтобы отменить правку.

Текущая версия Ваш текст
Строка 1: Строка 1:
'''[X]''' (усечение) — традиционное слово [[Каллисто]]. Усечение числа.
'''[X]''' — стандартное слово [[Каллисто]].
[X]           ( x −− x1 )                          Усечение (целая часть) числа. x1 := Trunc [x]
x1 — усечение x (''англ.'' truncation). Значащие цифры, стоящие после десятичной запятой, отбрасываются. Знак числа не меняется.
 
== Ввод слова [X] ==
В [[Режим NUM|режиме NUM]] последовательно нажмите клавиши [[Клавиша БП|{{Чёрная клавиша|БП}}]]   [[Клавиша Р-ГРД-Г|{{Чёрная клавиша|Р-ГРД-Г}}]] [[Клавиша 0|{{Серая клавиша|0}}]]   [[Клавиша P|{{Синяя клавиша|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|«Электроника МК-61»]], выпущенного в 1984 году.
 
== Реализация ==
В [[Каллисто|Каллисто 1.0]] слово [X] является «обёрткой» вокруг команды ЭКВМ [[K INT|К[x]]]:
<pre>
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.
</pre>
Математическая операция взятия целой части даёт пол числа (''англ.'' floor), то есть производит округление числа к отрицательной бесконечности. Её наиболее точное обозначение $\lfloor x \rfloor$. Для отрицательных чисел действие слова &#91;X&#93; отличается от $\lfloor x \rfloor$, т.к. &#91;X&#93; округляет число x к нулю.
 
Реализация из SP-Forth 4.20:
<pre>
CODE FINT
      FRNDINT
      RET
END-CODE
</pre>
 
== Ссылки ==
* {{Исходник|FTRUNC|&#91;X&#93;}}
* См. слово [[⎨X⎬|&#123;X&#125;]]
* [http://ru.wikipedia.org/wiki/%D0%A6%D0%B5%D0%BB%D0%B0%D1%8F_%D1%87%D0%B0%D1%81%D1%82%D1%8C Целая часть на Википедии] — определение не совпадает со словом &#91;X&#93; для отрицательных чисел
* [https://en.wikipedia.org/wiki/Truncation Truncation на английской Википедии] ''(англ.)''
* Слово [http://forth-standard.org/standard/float/FTRUNC FTRUNC (f-trunc)] в черновике Forth 200x ''(англ.)''
* Слова [http://forth.sourceforge.net/standard/dpans/dpans12.htm#12.6.1.1558 FLOOR] и [http://forth.sourceforge.net/standard/dpans/dpans12.htm#12.6.1.1612 FROUND (f-round)] в стандарте ANS Forth ''(англ.)''
* Слова [http://forth-standard.org/standard/float/FLOOR FLOOR] и [http://forth-standard.org/standard/float/FROUND FROUND (f-round)] в черновике Forth 200x ''(англ.)''
 


{{нет иллюстраций}}
{{нет иллюстраций}}
{{заготовка}}
{{заготовка}}
[[Категория:Слова Каллисто]]
[[Категория:Слова Каллисто]]
[[Категория:Примитивы]]
[[Категория:Математические функции Каллисто]]
[[Категория:Одноместные операции Каллисто]]
[[Категория:Традиционные слова]]
[[Категория:Адаптированные слова]]
Пожалуйста, учтите, что любой ваш вклад в проект «ПМК вики» может быть отредактирован или удалён другими участниками. Если вы не хотите, чтобы кто-либо изменял ваши тексты, не помещайте их сюда.
Вы также подтверждаете, что являетесь автором вносимых дополнений, или скопировали их из источника, допускающего свободное распространение и изменение своего содержимого (см. Pmkwiki:Авторские права). НЕ РАЗМЕЩАЙТЕ БЕЗ РАЗРЕШЕНИЯ ОХРАНЯЕМЫЕ АВТОРСКИМ ПРАВОМ МАТЕРИАЛЫ!

В целях защиты вики от автоматического спама в правках просим вас решить следующую каптчу:

Отменить Справка по редактированию (в новом окне)