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

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

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

Текущая версия Ваш текст
Строка 1: Строка 1:
'''.''' (точка) адаптированное слово [[Каллисто]]. Вывод [[Десятичное число|десятичного числа]], за которым следует один [[пробел]].
'''.''' — стандартное слово [[Каллисто]].
.              ( x −− )                            Вывод x на индикатор и дать пробел. Совпадает с I. если BASE<>10.
[[Файл:TwoPiMulDot.png|thumb|right|264px|Пример работы слова .]]
Слово . очень напоминает одноимённое стандартное — бывшее ещё в Форте−79 и получившее в Каллисто имя [[I.]]. Отличие в том, что каллистянское слово . работает с плавучкой и создано на основе функций МК−161.
 
Если [[BASE|текущая система счисления]] отлична от [[Десятичная система счисления|десятичной]] — тоже самое, что [[I.]]
 
== Ввод слова . ==
В [[Режим NUM|режиме NUM]] нажмите [[Клавиша /-/|белую клавишу {{Серая клавиша|/−/}}]]
 
== F. FE. и FS. в стандарте ANS Forth ==
<pre>
12.6.2.1427  F.                            "f-dot"                FLOATING EXT
            ( -- ) ( F: r -- ) or ( r -- )
            Отображает с конечным пробелом верхнее число со стека с плавающей
            точкой, используя нотацию с фиксированной точкой:
 
            [-] <цифры>.<цифры0>
 
            Неопределенная ситуация существует, если значение BASE - не
            (десятичное) десять или если символьное строковое представление
            превышает размер буфера выходной строки отображаемого числа.
 
        См.: 12. 12.6.1.0558 >FLOAT.
 
A.12.6.1.1427  F.
Например, 1E3 F. отображает 1000..
</pre>
<pre>
12.6.2.1513  FE.                              "f-e-dot"          FLOATING EXT
            ( -- ) ( F: r -- ) or ( r -- )
            Отображает с конечным пробелом верхнее число со стека с плавающей
            точкой используя инженерную нотацию, где мантисса больше или равна
            1.0 и меньше чем 1000.0 и десятичная экспонента - множитель трех.
 
            Неопределенная ситуация существует, если значение BASE - не
            (десятичное) десять или если символьное строковое представление
            превышает размер буфера выходной строки отображаемого числа.
 
        См.: 6.1.0750 BASE, 12.3.2 Операции c плавающей точкой, 12.6.1.2143
            REPRESENT.
</pre>
<pre>
12.6.2.1613  FS.                      "f-s-dot"                  FLOATING EXT
            ( -- ) ( F: r -- ) or ( r -- )
            Отображает, с конечным пробелом, верхнее число со стека с плавающей
            точкой в экспоненциальном формате:
 
            <мантисса><экспонента>
            где:
            <мантисса>  := [-]<цифра>.<цифры0>
            <экспонента> := E[-]<цифры>
 
            Неопределенная ситуация существует, если значение BASE - не
            (десятичное) десять или если символьное строковое представление
            превышает размер буфера выходной строки отображаемого числа.
 
        См.: 6.1.0750 BASE, 12.3.2 Операции c плавающей точкой, 12.6.1.2143
            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|.}}
* [http://forth.sourceforge.net/standard/dpans/dpans12.htm#12.6.2.1427 Слово F. (f-dot) в стандарте ANS Forth] ''(англ.)'' и [http://forth.sourceforge.net/standard/dpans/dpansa12.htm#A.12.6.1.1427 комментарий к нему] ''(англ.)''
* См. слова [[I.]], [[(.)]] и [[I.R]]
* [http://forth.sourceforge.net/standard/dpans/dpans12.htm#12.6.2.1513 Слово FE. (f-e-dot) в стандарте 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.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://www.forth200x.org/documents/html/float.html#floating:Fd Слово F. (f-dot) в черновике Forth 200x] ''(англ.)'' и [http://www.forth200x.org/documents/html/rationale.html#rat:floating:Fd комментарий к нему] ''(англ.)''
* Слово [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/html/float.html#floating:FEd Слово FE. (f-e-dot) в черновике 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/html/float.html#floating:FSd Слово 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:Авторские права). НЕ РАЗМЕЩАЙТЕ БЕЗ РАЗРЕШЕНИЯ ОХРАНЯЕМЫЕ АВТОРСКИМ ПРАВОМ МАТЕРИАЛЫ!

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

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