SIGN: различия между версиями
Перейти к навигации
Перейти к поиску
AtH (обсуждение | вклад) (→Ссылки) |
AtH (обсуждение | вклад) Нет описания правки |
||
Строка 1: | Строка 1: | ||
'''SIGN''' (знак) — стандартное слово [[Каллисто]]. | '''SIGN''' (знак) — стандартное слово [[Каллисто]]. | ||
SIGN ( x −− ) Добавить к форматной строке литеру '−', если число x отрицательно. | |||
Вводит [[Символ -|знак "минус"]] в выходной буфер [[PAD]], если n<0 | Вводит [[Символ -|знак "минус"]] в выходной буфер [[PAD]], если n<0 | ||
== Ввод слова SIGN == | == Ввод слова SIGN == | ||
В [[Режим ЛАТ|режиме ЛАТ]] последовательно нажмите четыре клавиши [[Клавиша 1|{{Серая клавиша|1}}]] [[Клавиша 7|{{Серая клавиша|7}}]] [[Клавиша БП|{{Чёрная клавиша|БП}}]] [[Клавиша 4|{{Серая клавиша|4}}]] | В [[Режим ЛАТ|режиме ЛАТ]] последовательно нажмите четыре клавиши [[Клавиша 1|{{Серая клавиша|1}}]] [[Клавиша 7|{{Серая клавиша|7}}]] [[Клавиша БП|{{Чёрная клавиша|БП}}]] [[Клавиша 4|{{Серая клавиша|4}}]] | ||
== Детали реализации == | |||
В соответствии со стандартом Форт−79 и последующими, слово SIGN берёт свой аргумент с вершины стека. Обычно SIGN используется непосредственно после [[U♯S|U#S]] | |||
== SIGN в стандарте ANS Forth == | == SIGN в стандарте ANS Forth == | ||
Строка 14: | Строка 17: | ||
числа. | числа. | ||
== SIGN в предыдущем стандарте Forth-83 (англ.) == | == История == | ||
Начиная с Форта-79, SIGN берёт свой аргумент с вершины стека. Это означает, что обращение к SIGN в [[Каллисто]] обычно выглядит так: [[Слово ↔|↔]] SIGN | |||
=== SIGN в предыдущем стандарте Forth-83 (англ.) === | |||
SIGN n -- 83 | SIGN n -- 83 | ||
If n is negative, an ASCII "-" (minus sign) is appended to | If n is negative, an ASCII "-" (minus sign) is appended to | ||
Строка 20: | Строка 26: | ||
<# and #> . | <# and #> . | ||
== SIGN в стандарте Forth-79 (англ.) == | === SIGN в стандарте Forth-79 (англ.) === | ||
SIGN n -- C,140 | SIGN n -- C,140 | ||
Insert the ASCII "-" (minus sign) into the pictured numeric | Insert the ASCII "-" (minus sign) into the pictured numeric | ||
output string, if n is negative. | output string, if n is negative. | ||
== SIGN в fig-FORTH Release 1 glossary, май 1979 (англ.) == | === SIGN в fig-FORTH Release 1 glossary, май 1979 (англ.) === | ||
SIGN n d --- d L0 | SIGN n d --- d L0 | ||
Stores an ascii "-" sign just before a converted numeric output | Stores an ascii "-" sign just before a converted numeric output | ||
Строка 51: | Строка 57: | ||
SIG: DW SEMI | SIG: DW SEMI | ||
</PRE> | </PRE> | ||
== Ссылки == | == Ссылки == | ||
* {{Исходник|SIGN|SIGN}} | |||
* Слово [http://forth.sourceforge.net/standard/dpans/dpans6.htm#6.1.2210 SIGN] в стандарте ANS Forth ''(англ.)'' | * Слово [http://forth.sourceforge.net/standard/dpans/dpans6.htm#6.1.2210 SIGN] в стандарте ANS Forth ''(англ.)'' | ||
* Слово [http://forth-standard.org/standard/core/SIGN SIGN] в черновике Forth 200x ''(англ.)'' | * Слово [http://forth-standard.org/standard/core/SIGN SIGN] в черновике Forth 200x ''(англ.)'' | ||
Строка 67: | Строка 71: | ||
[[Категория:Слова высокого уровня]] | [[Категория:Слова высокого уровня]] | ||
[[Категория:Форматные преобразования Каллисто]] | [[Категория:Форматные преобразования Каллисто]] | ||
Версия от 19:39, 16 июня 2016
SIGN (знак) — стандартное слово Каллисто.
SIGN ( x −− ) Добавить к форматной строке литеру '−', если число x отрицательно.
Вводит знак "минус" в выходной буфер PAD, если n<0
Ввод слова SIGN
В режиме ЛАТ последовательно нажмите четыре клавиши 1 7 БП 4
Детали реализации
В соответствии со стандартом Форт−79 и последующими, слово SIGN берёт свой аргумент с вершины стека. Обычно SIGN используется непосредственно после U#S
SIGN в стандарте ANS Forth
6.1.2210 SIGN CORE ( n -- ) Если n - отрицательное, добавляет знак "минус" в начало выходной строки отображаемого числа. Неопределенная ситуация существует, если SIGN выполняется вне <# #> ограничивающих преобразование числа.
История
Начиная с Форта-79, SIGN берёт свой аргумент с вершины стека. Это означает, что обращение к SIGN в Каллисто обычно выглядит так: ↔ SIGN
SIGN в предыдущем стандарте Forth-83 (англ.)
SIGN n -- 83 If n is negative, an ASCII "-" (minus sign) is appended to the pictured numeric output string. Typically used between <# and #> .
SIGN в стандарте Forth-79 (англ.)
SIGN n -- C,140 Insert the ASCII "-" (minus sign) into the pictured numeric output string, if n is negative.
SIGN в fig-FORTH Release 1 glossary, май 1979 (англ.)
SIGN n d --- d L0 Stores an ascii "-" sign just before a converted numeric output string in the text output buffer when n is negative. n is discarded but double number d is maintained. Must be used between <# and #>.
Реализация
Определение слова SIGN совпадает у Юрия Семёнова (стр. 100) и Баранова-Ноздрунова (стр. 37):
: SIGN ( A ---> ) 0< IF '-' HOLD THEN ;
Определение слова SIGN в ядре ФОРТ-ЕС:
SIGN N-> ДОБАВИТЬ В ФОРМАТНУЮ СТРОКУ ЗНАК 37 МИНУС, ЕСЛИ ЧИСЛО N ОТРИЦАТЕЛЬНО Экран номер 37 ( 31.03.86 PAD HOLD ALPHA <# #> # #S SIGN ) : SIGN ( N->) 0< IF C" - HOLD THEN ;
Определение слова SIGN в FORTH ИТЭФ:
HEAD 204Q,'SIG',316Q,SIGN,$COL ; SIGN DW ROT,ZLESS,ZBRAN,SIG-$,LIT,55Q,HOLD SIG: DW SEMI
Ссылки
- Исходный текст слова SIGN в Каллисто Классик 1.0
- Слово SIGN в стандарте ANS Forth (англ.)
- Слово SIGN в черновике Forth 200x (англ.)
- ЧИСЛО ТИПОВ ЧИСЕЛ в книге Л.Броуди «Начальный курс программирования на языке Форт»
- A Number of Kinds of Numbers в книге Leo Brodie Starting Forth (англ.)
У этой статьи нет иллюстраций. Вы можете помочь проекту, добавив их. |
Это заготовка статьи. Вы можете помочь проекту, дополнив её. |