Слово .

Материал из ПМК вики
Перейти к навигации Перейти к поиску

. (точка) — адаптированное слово Каллисто. Вывод десятичного числа, за которым следует один пробел.

.              ( x −− )                             Вывод x на индикатор и дать пробел. Совпадает с I. если BASE<>10.
Пример работы слова .

Слово . очень напоминает одноимённое стандартное — бывшее ещё в Форте−79 и получившее в Каллисто имя I.. Отличие в том, что каллистянское слово . работает с плавучкой и создано на основе функций МК−161.

Если текущая система счисления отлична от десятичной — тоже самое, что I.

Ввод слова .[править]

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

F. FE. и FS. в стандарте 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..
 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.
 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.

Реализация[править]

Когда BASE равно десяти, слово . выводит десятичное число на индикатор с помощью регистра 9035, который использует десятичную систему счисления и ограничивает точность 8 значащими цифрами. Если вам нужно вывести целое число, рекомендую использовать традиционный для Форта вывод, который в Каллисто называется I. и не имеет подобных ограничений.

Например,  2 31 yˣ .  выведет  2,1474836E09 , тогда как  2 31 yˣ i.  покажет все десять значащих цифр:  2147483648 .

3831 ;#d
3832 ; .                ( x −− )                             Вывести x на индикатор и дать пробел. Совпадает с I. если BASE≠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

Ссылки[править]


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