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

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

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

Текущая версия Ваш текст
Строка 1: Строка 1:
'''[X]''' (усечение) — традиционное слово [[Каллисто]]. Усечение числа.
'''[X]''' (усечение) — стандартное слово [[Каллисто]]. Усечение числа.
  [X]            ( x −− x1 )                         Усечение (целая часть) числа. x1 := Trunc [x]
  ( x -- x1 )
 
x1 — усечение x (''англ.'' truncation). Значащие цифры, стоящие после десятичной запятой, отбрасываются. Знак числа не меняется.
x1 — усечение x (''англ.'' truncation). Значащие цифры, стоящие после десятичной запятой, отбрасываются. Знак числа не меняется.


== Ввод слова [X] ==
== Детали реализации ==
В [[Режим NUM|режиме NUM]] последовательно нажмите клавиши [[Клавиша БП|{{Чёрная клавиша|БП}}]]   [[Клавиша Р-ГРД-Г|{{Чёрная клавиша|Р-ГРД-Г}}]] [[Клавиша 0|{{Серая клавиша|0}}]]   [[Клавиша P|{{Синяя клавиша|P}}]] [[Клавиша ПП|{{Чёрная клавиша|ПП}}]]
Слово является «обёрткой» вокруг команды ЭКВМ [[K INT|К[x]]].
 
Математическая операция взятия целой части даёт пол числа (''англ.'' floor), то есть производит округление числа к отрицательной бесконечности. Её наиболее точное обозначение $\lfloor x \rfloor$. Для отрицательных чисел действие слова [X] отличается от $\lfloor x \rfloor$, т.к. [X] округляет число x к нулю.


== FLOOR в стандарте ANS Forth ==
== FLOOR в стандарте ANS Forth ==
Строка 26: Строка 29:


В черновике стандарта Форт-2012 слово [X] называется FTRUNC
В черновике стандарта Форт-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; для отрицательных чисел
* [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 на английской Википедии] ''(англ.)''
* [https://en.wikipedia.org/wiki/Truncation Truncation на английской Википедии] ''(англ.)''
* Слово [http://forth-standard.org/standard/float/FTRUNC FTRUNC (f-trunc)] в черновике Forth 200x ''(англ.)''
* [http://www.forth200x.org/documents/html/float.html#floating: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.sourceforge.net/standard/dpans/dpans12.htm#12.6.1.1558 Слово FLOOR в стандарте ANS Forth] ''(англ.)''
* Слова [http://forth-standard.org/standard/float/FLOOR FLOOR] и [http://forth-standard.org/standard/float/FROUND FROUND (f-round)] в черновике Forth 200x ''(англ.)''
* [http://forth.sourceforge.net/standard/dpans/dpans12.htm#12.6.1.1612 Слово FROUND (f-round) в стандарте ANS Forth] ''(англ.)''
* [http://www.forth200x.org/documents/html/float.html#floating:FLOOR Слово FLOOR в черновике Forth 200x] ''(англ.)''
* [http://www.forth200x.org/documents/html/float.html#floating:FROUND Слово FROUND (f-round) в черновике Forth 200x] ''(англ.)''




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

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

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