0=: различия между версиями
AtH (обсуждение | вклад) (→Ссылки) |
AtH (обсуждение | вклад) (→Ссылки) |
||
Строка 49: | Строка 49: | ||
* Слова [http://www.forth200x.org/documents/html3/core/ZeroEqual.html 0= (zero-equals)] и [http://www.forth200x.org/documents/html3/floating/FZeroEqual.html F0= (f-zero-equals)] в черновике Forth 200x ''(англ.)'' | * Слова [http://www.forth200x.org/documents/html3/core/ZeroEqual.html 0= (zero-equals)] и [http://www.forth200x.org/documents/html3/floating/FZeroEqual.html F0= (f-zero-equals)] в черновике Forth 200x ''(англ.)'' | ||
* [http://gudleifr.h1.ru/cgi-bin/pilo.cgi?FL=../g9.txt&IS=\6.PERWOISTOTNIKI\LEO%20BRODIE%20STARTING%20FORTH\04.%20KOMPJUTER%20%22PRINIMAET%20RESENIA%22 КОМПЬЮТЕР "ПРИНИМАЕТ РЕШЕНИЯ"] в книге [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\04.%20KOMPJUTER%20%22PRINIMAET%20RESENIA%22 КОМПЬЮТЕР "ПРИНИМАЕТ РЕШЕНИЯ"] в книге [http://gudleifr.h1.ru/cgi-bin/pilo.cgi?FL=../g9.txt&IS=\6.PERWOISTOTNIKI\LEO%20BRODIE%20STARTING%20FORTH Л.Броуди «Начальный курс программирования на языке Форт»] | ||
* [http://www.forth.com/starting-forth/sf4/sf4.html Decisions, Decisions…] в книге [http://www.forth.com/starting-forth/ Leo Brodie Starting Forth] ''(англ.)'' | |||
Версия от 05:33, 25 марта 2016
0= (нулю равно) — стандартное слово Каллисто. Проверить на равенство нулю.
0= ( x -- f ) Проверка на равенство нулю.
Сравнивает x с нулём и засылает в стек флаг «истинно» (f=−1), если x равен нулю и флаг «ложно» (f=0), если x отличен от нуля.
Ввод слова 0=
В режиме NUM последовательно нажмите три клавиши 0 F ШГ←
Детали реализации
Если на стеке лежит логическое значение (флаг), слово 0= меняет его противоположное. Флаг «истинно» (x=−1 и любое ненулевое значение) превращается во флаг «ложно» (f=0). Флаг «ложно» (x=0) превратится во флаг «истинно» (f=−1). Этим объясняется широкая практика использования 0= для логического отрицания. Фактически это слово NOT, и во многих Фортах оно имеет такое второе название.
Слово 0= возвращает −1 в качестве флага «истинно», что позволяет использовать результат f в логических операция AND, OR, XOR и NOT. Разумеется, при этом другие аргументы этих операций тоже должны использовать −1 в качестве флага «истинно». Все слова Каллисто, возвращающие флаги, используют в качестве флага «истинно» −1.
В отличии от NOT, слово 0= превращает во флаг «ложь» не только −1, но и любое ненулевое значение. Применив 0= дважды, можно «нормализовать» флаг, превратив любое ненулевое значение в −1.
0= в стандарте ANS Forth
6.1.0270 0= "zero-equals" CORE ( x -- flag ) flag - true, если и только если x - равно нулю.
F0= в стандарте ANS Forth
12.6.1.1450 F0= "f-zero-equals" FLOATING ( -- flag ) ( F: r -- ) or ( r -- flag ) flag - true, если и только если r - равно нулю.
0= в предыдущем стандарте Forth-83 (англ.)
0= w -- flag 83 "zero-equals" flag is true if w is zero.
0= в стандарте Forth-79 (англ.)
0= n -- flag 180 "zero-equals" True if n is zero.
0= в fig-FORTH Release 1 glossary, май 1979 (англ.)
0= n --- f L0 Leave a true flag is the number is equal to zero, otherwise leave a false flag.
История
В 1968 году Чак Мур работал в Mohasco Industries, Inc (Amsterdam NY, англ.). Первая версия интерпретатора, получившая название FORTH, заработала на миникомпьютере IBM 1130 с графическим дисплеем 2250 (16-битный процессор с ОЗУ 8К, дисководом, клавиатурой, принтером и ридером/панчером перфокарт). Первый FORTH знал слово 0=
В Форте-79 слово NOT было определено, как синоним 0=
Если программы переносятся с Форта-79 или fig-Форта на Каллисто, их слово NOT должно заменяться на 0=
Ссылки
- См. слова NOT, =, 0< и 0>
- См. также символ =
- Слова 0= (zero-equals) и F0= (f-zero-equals) в стандарте ANS Forth (англ.)
- Слова 0= (zero-equals) и F0= (f-zero-equals) в черновике Forth 200x (англ.)
- КОМПЬЮТЕР "ПРИНИМАЕТ РЕШЕНИЯ" в книге Л.Броуди «Начальный курс программирования на языке Форт»
- Decisions, Decisions… в книге Leo Brodie Starting Forth (англ.)
У этой статьи нет иллюстраций. Вы можете помочь проекту, добавив их. |
Это заготовка статьи. Вы можете помочь проекту, дополнив её. |