Слово .: различия между версиями

Материал из ПМК вики
Перейти к навигации Перейти к поиску
Строка 67: Строка 67:
* Слова [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://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://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] ''(англ.)''





Версия от 05:19, 25 марта 2016

Пример работы слова .

. (точка) — стандартное слово Каллисто.

Вывод числа, за которым следует один пробел.

Ввод слова .

В режиме NUM нажмите белую клавишу  /−/ 

Детали реализации

Слово . выводит десятичное число на индикатор с помощью регистра 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
           ( -- ) ( F: r -- ) or ( r -- )
           Отображает с конечным пробелом верхнее число со стека с плавающей 
           точкой, используя нотацию с фиксированной точкой:
           [-] <цифры>.<цифры0>
           Неопределенная ситуация существует, если значение BASE - не 
           (десятичное) десять или если символьное строковое представление 
           превышает размер буфера выходной строки отображаемого числа.
       См.: 12. 12.6.1.0558 >FLOAT.
A.12.6.1.1427   F.
Например, 1E3 F. отображает 1000..

FE. в стандарте ANS Forth

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.

FS. в стандарте ANS Forth

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.

Ссылки


  Это заготовка статьи. Вы можете помочь проекту, дополнив её.