Редактирование: Слово .

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

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

Текущая версия Ваш текст
Строка 1: Строка 1:
'''.''' (точка) — адаптированное слово [[Каллисто]]. Вывод [[Десятичное число|десятичного числа]], за которым следует один [[пробел]].
'''.''' (точка) — стандартное слово [[Каллисто]].
.              ( x −− )                            Вывод x на индикатор и дать пробел. Совпадает с I. если BASE<>10.
[[Файл:TwoPiMulDot.png|thumb|right|264px|Пример работы слова .]]
Слово . очень напоминает одноимённое стандартное — бывшее ещё в Форте−79 и получившее в Каллисто имя [[I.]]. Отличие в том, что каллистянское слово . работает с плавучкой и создано на основе функций МК−161.


Если [[BASE|текущая система счисления]] отлична от [[Десятичная система счисления|десятичной]] — тоже самое, что [[I.]]
Вывод числа, за которым следует один пробел.


== Ввод слова . ==
== Ввод слова . ==
В [[Режим NUM|режиме NUM]] нажмите [[Клавиша /-/|белую клавишу {{Серая клавиша|/−/}}]]
В [[Режим NUM|режиме NUM]] нажмите [[Клавиша /-/|белую клавишу {{Серая клавиша|/−/}}]]


== F. FE. и FS. в стандарте ANS Forth ==
== Детали реализации ==
<pre>
Слово . выводит [[десятичное число]] на индикатор с помощью [[R9035|регистра 9035]], который ограничивает точность 8 значащими цифрами. Если вам нужно вывести целое число, лучше использовать традиционный для Форта вывод, который в Каллисто называется [[I.]] и не имеет подобных ограничений.
 
Например, {{Текст на индикаторе|2 31 yˣ .}} выведет {{Текст на индикаторе|2,1474836E09}}, тогда как {{Текст на индикаторе|2 31 yˣ i.}} даст все значащие цифры: {{Текст на индикаторе|2147483648}}.
 
== F. в стандарте ANS Forth ==
  12.6.2.1427  F.                            "f-dot"                FLOATING EXT
  12.6.2.1427  F.                            "f-dot"                FLOATING EXT
             ( -- ) ( F: r -- ) or ( r -- )
             ( -- ) ( F: r -- ) or ( r -- )
Строка 26: Строка 27:
  A.12.6.1.1427  F.
  A.12.6.1.1427  F.
  Например, 1E3 F. отображает 1000..
  Например, 1E3 F. отображает 1000..
</pre>
 
<pre>
 
== FE. в стандарте ANS Forth ==
  12.6.2.1513  FE.                              "f-e-dot"          FLOATING EXT
  12.6.2.1513  FE.                              "f-e-dot"          FLOATING EXT
             ( -- ) ( F: r -- ) or ( r -- )
             ( -- ) ( F: r -- ) or ( r -- )
Строка 40: Строка 42:
         См.: 6.1.0750 BASE, 12.3.2 Операции c плавающей точкой, 12.6.1.2143  
         См.: 6.1.0750 BASE, 12.3.2 Операции c плавающей точкой, 12.6.1.2143  
             REPRESENT.
             REPRESENT.
</pre>
 
<pre>
== FS. в стандарте ANS Forth ==
  12.6.2.1613  FS.                      "f-s-dot"                  FLOATING EXT
  12.6.2.1613  FS.                      "f-s-dot"                  FLOATING EXT
             ( -- ) ( F: r -- ) or ( r -- )
             ( -- ) ( F: r -- ) or ( r -- )
Строка 58: Строка 60:
         См.: 6.1.0750 BASE, 12.3.2 Операции c плавающей точкой, 12.6.1.2143  
         См.: 6.1.0750 BASE, 12.3.2 Операции c плавающей точкой, 12.6.1.2143  
             REPRESENT.
             REPRESENT.
</pre>
== Реализация ==
Когда [[BASE]] равно десяти, слово . выводит [[десятичное число]] на индикатор с помощью [[R9035|регистра 9035]], который использует [[Десятичная система счисления|десятичную систему счисления]] и ограничивает точность 8 значащими цифрами. Если вам нужно вывести целое число, рекомендую использовать традиционный для Форта вывод, который в Каллисто называется [[I.]] и не имеет подобных ограничений.
Например, {{Текст на индикаторе|2 31 yˣ .}} выведет {{Текст на индикаторе|2,1474836E09}}, тогда как {{Текст на индикаторе|2 31 yˣ i.}} покажет все десять значащих цифр: {{Текст на индикаторе|2147483648}}.
<pre>
3831 ;#d
3832 ; .                ( x −− )                            Вывести x на индикатор и дать пробел. Совпадает с I. если BASE&ne;10.
3833 LFDOT:          .DB    1
3834                .TEXT  "."                    ; ( число −− )
3835                .DW    LDOT
3836 FDOT:          .DW CALL                        ; Вывести десятичное число x, за которым следует один пробел.
3837 RFDOT:          .DW BASE,UAT, LITB
3838                .DB 10
3839                .DW EQUAL,ZBRAN,RDOT            ; Если система счисления не десятичная, вывести целую часть числа
3840                .DW BDIGF, DIGF, EDIGF, TYPE, BRAN,RSPACE
</pre>


== Ссылки ==
== Ссылки ==
* {{Исходник|d|.}}
* См. слова [[I.]], [[(.)]] и [[I.R]]
* Слово [http://forth.sourceforge.net/standard/dpans/dpans12.htm#12.6.2.1427 F. (f-dot)] и [http://forth.sourceforge.net/standard/dpans/dpansa12.htm#A.12.6.1.1427 комментарий к нему] в стандарте ANS Forth ''(англ.)''
* Слово [http://forth.sourceforge.net/standard/dpans/dpans12.htm#12.6.2.1427 F. (f-dot)] и [http://forth.sourceforge.net/standard/dpans/dpansa12.htm#A.12.6.1.1427 комментарий к нему] в стандарте ANS Forth ''(англ.)''
* Слова [http://forth.sourceforge.net/standard/dpans/dpans12.htm#12.6.2.1513 FE. (f-e-dot)] и [http://forth.sourceforge.net/standard/dpans/dpans12.htm#12.6.2.1613 FS. (f-s-dot)] в стандарте ANS Forth ''(англ.)''
* Слова [http://forth.sourceforge.net/standard/dpans/dpans12.htm#12.6.2.1513 FE. (f-e-dot)] и [http://forth.sourceforge.net/standard/dpans/dpans12.htm#12.6.2.1613 FS. (f-s-dot)] в стандарте ANS Forth ''(англ.)''
* Слово [http://forth-standard.org/standard/float/Fd F. (f-dot)] и [http://forth-standard.org/standard/rationale#rat:float:Fd комментарий к нему] в черновике Forth 200x ''(англ.)''
* Слово [http://www.forth200x.org/documents/html3/floating/Fd.html F. (f-dot)] и [http://www.forth200x.org/documents/html3/rationale.html#rat:floating:Fd комментарий к нему] в черновике Forth 200x ''(англ.)''
* Слова [http://forth-standard.org/standard/float/FEd FE. (f-e-dot)] и [http://forth-standard.org/standard/float/FSd FS. (f-s-dot)] в черновике Forth 200x ''(англ.)''
* Слова [http://www.forth200x.org/documents/html3/floating/FEd.html FE. (f-e-dot)] и [http://www.forth200x.org/documents/html3/floating/FSd.html FS. (f-s-dot)] в черновике Forth 200x ''(англ.)''
* [http://gudleifr.h1.ru/cgi-bin/pilo.cgi?FL=../g9.txt&IS=\6.PERWOISTOTNIKI\LEO%20BRODIE%20STARTING%20FORTH\01.OSNOWY%20FORTA ОСНОВЫ ФОРТА] в книге [http://gudleifr.h1.ru/cgi-bin/pilo.cgi?FL=../g9.txt&IS=\6.PERWOISTOTNIKI\LEO%20BRODIE%20STARTING%20FORTH Л.Броуди «Начальный курс программирования на языке Форт»]
* [http://www.forth.com/starting-forth/sf1/sf1.html Fundamental Forth] в книге [http://www.forth.com/starting-forth/ Leo Brodie Starting Forth] ''(англ.)''




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

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

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