Редактирование: ¦X¦
Перейти к навигации
Перейти к поиску
Правка может быть отменена. Пожалуйста, просмотрите сравнение версий ниже, чтобы убедиться, что это нужная вам правка, и запишите страницу ниже, чтобы отменить правку.
Текущая версия | Ваш текст | ||
Строка 1: | Строка 1: | ||
'''|X|''' (абсолютное значение) — | '''|X|''' (абсолютное значение) — стандартное слово [[Каллисто]]. Вычисление модуля. | ||
|X| ( x | |X| ( x -- p ) | ||
p — абсолютная величина числа x, т.е. тоже значение числа, но непременно положительное. | p — абсолютная величина числа x, т.е. тоже значение числа, но непременно положительное. | ||
Строка 8: | Строка 9: | ||
В [[Режим NUM|режиме NUM]] последовательно нажмите клавиши [[Клавиша F|{{Оранжевая клавиша|F}}]] [[Клавиша П|{{Чёрная клавиша|П}}]] [[Клавиша Р-ГРД-Г|{{Чёрная клавиша|Р-ГРД-Г}}]] [[Клавиша 0|{{Серая клавиша|0}}]] [[Клавиша P|{{Синяя клавиша|P}}]] [[Клавиша F|{{Оранжевая клавиша|F}}]] [[Клавиша П|{{Чёрная клавиша|П}}]] | В [[Режим NUM|режиме NUM]] последовательно нажмите клавиши [[Клавиша F|{{Оранжевая клавиша|F}}]] [[Клавиша П|{{Чёрная клавиша|П}}]] [[Клавиша Р-ГРД-Г|{{Чёрная клавиша|Р-ГРД-Г}}]] [[Клавиша 0|{{Серая клавиша|0}}]] [[Клавиша P|{{Синяя клавиша|P}}]] [[Клавиша F|{{Оранжевая клавиша|F}}]] [[Клавиша П|{{Чёрная клавиша|П}}]] | ||
== | == Детали реализации == | ||
Слово |X| является «обёрткой» вокруг команды ЭКВМ [[K ABS|К |x|]]. | |||
== FABS в стандарте ANS Forth == | |||
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 n -- u 79 "absolute" | ABS n -- u 79 "absolute" | ||
u is the absolute value of n. If n is -32,768 then u is the | u is the absolute value of n. If n is -32,768 then u is the | ||
same value. See: "arithmetic, two's complement" | same value. See: "arithmetic, two's complement" | ||
== ABS в стандарте Forth-79 (англ.) == | |||
ABS n1 -- n1 108 "absolute" | ABS n1 -- n1 108 "absolute" | ||
Leave the absolute value of a number. | Leave the absolute value of a number. | ||
== ABS в fig-FORTH Release 1 glossary, май 1979 (англ.) == | |||
ABS n --- u L0 | ABS n --- u L0 | ||
Leave the absolute value of n as u. | Leave the absolute value of n as u. | ||
== История == | |||
В отличие от Форта-83, в [[Каллисто]] абсолютная величина -32768 равна 32768. | |||
== Реализация == | == Реализация == | ||
У Баранова-Ноздрунова приводится следующее определение слова |X| (стр. 28): | У Баранова-Ноздрунова приводится следующее определение слова |X| (стр. 28): | ||
: |X| ( A ---> абс A ) ↑ 0< IF | : |X| ( A ---> абс A ) ↑ 0< IF NEGATE THEN ; | ||
Слово |X| в ядре ФОРТ-ЕС | Слово |X| в ядре ФОРТ-ЕС называется ABS и определено через арифметику числовых пар, отсутствующую в [[Каллисто]]: | ||
<PRE> | <PRE> | ||
ABS N1->N2 АБСОЛЮТНАЯ ВЕЛИЧИНА 17 | ABS N1->N2 АБСОЛЮТНАЯ ВЕЛИЧИНА 17 | ||
Строка 80: | Строка 50: | ||
: ABS ( N1->+N2) S>D DABS DROP ; | : ABS ( N1->+N2) S>D DABS DROP ; | ||
</PRE> | </PRE> | ||
== Ссылки == | == Ссылки == | ||
* См. слово [[ЗН]] | * См. слово [[ЗН]] | ||
* [http://ru.wikipedia.org/wiki/%D0%90%D0%B1%D1%81%D0%BE%D0%BB%D1%8E%D1%82%D0%BD%D0%B0%D1%8F_%D0%B2%D0%B5%D0%BB%D0%B8%D1%87%D0%B8%D0%BD%D0%B0 Абсолютная величина в Википедии] | * [http://ru.wikipedia.org/wiki/%D0%90%D0%B1%D1%81%D0%BE%D0%BB%D1%8E%D1%82%D0%BD%D0%B0%D1%8F_%D0%B2%D0%B5%D0%BB%D0%B8%D1%87%D0%B8%D0%BD%D0%B0 Абсолютная величина в Википедии] | ||
* Слова [http://forth.sourceforge.net/standard/dpans/dpans6.htm#6.1.0690 ABS (abs)] и [http://forth.sourceforge.net/standard/dpans/dpans12.htm#12.6.2.1474 FABS (f-abs) ] в стандарте ANS Forth ''(англ.)'' | * Слова [http://forth.sourceforge.net/standard/dpans/dpans6.htm#6.1.0690 ABS (abs)] и [http://forth.sourceforge.net/standard/dpans/dpans12.htm#12.6.2.1474 FABS (f-abs) ] в стандарте ANS Forth ''(англ.)'' | ||
* Слова [http:// | * Слова [http://www.forth200x.org/documents/html3/core/ABS.html ABS (abs)] и [http://www.forth200x.org/documents/html3/floating/FABS.html FABS (f-abs)] в черновике Forth 200x ''(англ.)'' | ||
* [http://gudleifr.h1.ru/cgi-bin/pilo.cgi?FL=../g9.txt&IS=\6.PERWOISTOTNIKI\LEO%20BRODIE%20STARTING%20FORTH\05.OPERAZII%20NAD%20ZELYMI%20TISLAMI ОПЕРАЦИИ НАД ЦЕЛЫМИ ЧИСЛАМИ] в книге [http://gudleifr.h1.ru/cgi-bin/pilo.cgi?FL=../g9.txt&IS=\6.PERWOISTOTNIKI\LEO%20BRODIE%20STARTING%20FORTH Л.Броуди «Начальный курс программирования на языке Форт»] | * [http://gudleifr.h1.ru/cgi-bin/pilo.cgi?FL=../g9.txt&IS=\6.PERWOISTOTNIKI\LEO%20BRODIE%20STARTING%20FORTH\05.OPERAZII%20NAD%20ZELYMI%20TISLAMI ОПЕРАЦИИ НАД ЦЕЛЫМИ ЧИСЛАМИ] в книге [http://gudleifr.h1.ru/cgi-bin/pilo.cgi?FL=../g9.txt&IS=\6.PERWOISTOTNIKI\LEO%20BRODIE%20STARTING%20FORTH Л.Броуди «Начальный курс программирования на языке Форт»] | ||
* [http://www.forth.com/starting-forth/sf5/sf5.html The Philosophy of Fixed Point] в книге [http://www.forth.com/starting-forth/ Leo Brodie Starting Forth] ''(англ.)'' | * [http://www.forth.com/starting-forth/sf5/sf5.html The Philosophy of Fixed Point] в книге [http://www.forth.com/starting-forth/ Leo Brodie Starting Forth] ''(англ.)'' | ||
Строка 108: | Строка 67: | ||
[[Категория:Арифметические операции Каллисто]] | [[Категория:Арифметические операции Каллисто]] | ||
[[Категория:Одноместные операции Каллисто]] | [[Категория:Одноместные операции Каллисто]] | ||
[[Категория: | [[Категория:Описание бета-версии Каллисто]] | ||