DECIMAL: различия между версиями

Материал из ПМК вики
Перейти к навигации Перейти к поиску
Нет описания правки
 
(не показано 30 промежуточных версий этого же участника)
Строка 1: Строка 1:
'''DECIMAL''' — стандартное слово [[Каллисто]].
'''DECIMAL''' (десятичная) — стандартное слово [[Каллисто]]. Перейти в [[Десятичная система счисления|десятичную систему счисления]].
 
DECIMAL        ( −− )                              Установить десятичную систему счисления.
Устанавливает десятичную систему счисления для ввода-вывода.
Устанавливает [[BASE|основание системы счисления]] при преобразовании чисел на [[Десятичная система счисления|десять]]. Эта система счисления устанавливается по умолчанию, после запуска [[Каллисто]].


== Ввод слова DECIMAL ==
В [[Режим ЛАТ|режиме ЛАТ]] последовательно нажмите клавиши [[Клавиша K|{{Синяя клавиша|K}}]] [[Клавиша ИП|{{Чёрная клавиша|ИП}}]] [[Клавиша С/П|{{Чёрная клавиша|С/П}}]] [[Клавиша 7|{{Серая клавиша|7}}]] [[Клавиша ÷|{{Серая клавиша|÷}}]] {{ШГ←}} [[Клавиша -|{{Серая клавиша|−}}]]


== DECIMAL в стандарте ANS Forth ==
== DECIMAL в стандарте ANS Forth ==
Строка 10: Строка 12:
             десять (десятичные числа).
             десять (десятичные числа).


== История ==
Слово DECIMAL пришло в [[Каллисто]] из Форта, где оно входит во все стандарты, не изменившись со времён fig-Форта в 1979 году.


== DECIMAL в предыдущем стандарте Forth-83 (англ.) ==
=== DECIMAL в предыдущем стандарте Forth-83 (англ.) ===
       DECIMAL      --                            79
       DECIMAL      --                            79
           Set the input-output numeric conversion base to ten.
           Set the input-output numeric conversion base to ten.


 
=== DECIMAL в стандарте Forth-79 (англ.) ===
== DECIMAL в стандарте Forth-79 (англ.) ==
  DECIMAL                                      197
  DECIMAL                                      197
     Set the input-output numeric conversion base to ten.
     Set the input-output numeric conversion base to ten.


 
=== DECIMAL в fig-FORTH Release 1 glossary, май 1979 (англ.) ===
== DECIMAL в fig-FORTH Release 1 glossary, май 1979 (англ.) ==
  DECIMAL                                        L0
  DECIMAL                                        L0
         Set the numeric conversion BASE for decimal input-output.
         Set the numeric conversion BASE for decimal input-output.


== Реализация ==
<pre>
  99 rrBASE          .EQU    1110                  ; 11110  BASE − основание действующей системы счисления
100 pBASE          .EQU      110
101 rlBASE          .EQU    1111
2374 SETBASE:        PPM rlBASE
2375                CX PPM rrBASE                  ; Каллисто использует 16−битную переменную для совместимости с Фортом.
2376                KGOTO9
2377
2378 ;#DECIMAL
2379 ; DECIMAL          ( −− )                              Установить десятичную систему счисления для ввода−вывода.
2380 LDEC:          .DB    7
2381                .TEXT  "DECIMAL"
2382                .DW    LHEX
2383 DEC:            .DW    JDEC
2384 JDEC:          10  PGOTO SETBASE
</pre>
Реализация из SP-Forth 4.20:
<pre>
: DECIMAL ( -- ) \ 94
\ Установить основание системы счисления равным десяти.
  10 BASE !
;
</pre>
=== Советская реализация ===
У Баранова-Ноздрунова приводится следующее определение слова DECIMAL через присваивание переменной [[BASE]] числа 10 (стр. 24):
  : decimal  ( -- )  10 base ! ;
Описание и определение слова DECIMAL в ядре ФОРТ-ЕС:
<PRE>
DECIMAL  -> ПЕРЕЙТИ В ДЕСЯТИЧНУЮ СИСТЕМУ                      22
                    Экран номер 22
( 31.03.86  FILL ERASE BLANK COMPILE [ ] MIN MAX HEX DECIMAL)
: DECIMAL ( ->) 10 BASE ! ;
</PRE>
В FORTH ИТЭФ слово DECIMAL было [[примитив]]ом, вот его определение:
<PRE>
            HEAD    207Q,'DECIMA',314Q,DEC              ; DECIMAL
            MOV  WORD PTR [DI]+56Q,10
            NEXT
</PRE>


== Ссылки ==
== Ссылки ==
* [http://forth.sourceforge.net/standard/dpans/dpans6.htm#6.1.1170 Слово DECIMAL в стандарте ANS Forth] ''(англ.)''
* {{Исходник|DECIMAL|DECIMAL}}
* [http://www.forth200x.org/documents/html/core.html#core:DECIMAL Слово DECIMAL в черновике Forth 200x] ''(англ.)''
* См. слова Каллисто [[HEX]], [[BASE]]
* См. также слова Каллисто [[HEX]], [[BASE]]
* [https://ru.wikipedia.org/wiki/%D0%94%D0%B5%D1%81%D1%8F%D1%82%D0%B8%D1%87%D0%BD%D0%B0%D1%8F_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0_%D1%81%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F Десятичная система счисления на Википедии]
* Слово [http://forth.sourceforge.net/standard/dpans/dpans6.htm#6.1.1170 DECIMAL] в стандарте ANS Forth ''(англ.)''
* Слово [http://forth-standard.org/standard/core/DECIMAL DECIMAL] в черновике Forth 200x ''(англ.)''
* [http://gudleifr.h1.ru/cgi-bin/pilo.cgi?FL=../g9.txt&IS=\6.PERWOISTOTNIKI\LEO%20BRODIE%20STARTING%20FORTH\07.TISLO%20TIPOW%20TISEL ЧИСЛО ТИПОВ ЧИСЕЛ] в книге [http://gudleifr.h1.ru/cgi-bin/pilo.cgi?FL=../g9.txt&IS=\6.PERWOISTOTNIKI\LEO%20BRODIE%20STARTING%20FORTH Л.Броуди «Начальный курс программирования на языке Форт»]
* [http://www.forth.com/starting-forth/sf7/sf7.html A Number of Kinds of Numbers] в книге [http://www.forth.com/starting-forth/ Leo Brodie Starting Forth] ''(англ.)''
* [http://www.forth.com/starting-forth/sf8/sf8.html Variables, Constants, and Arrays] в книге [http://www.forth.com/starting-forth/ Leo Brodie Starting Forth] ''(англ.)''




Строка 35: Строка 87:
{{заготовка}}
{{заготовка}}
[[Категория:Слова Каллисто]]
[[Категория:Слова Каллисто]]
[[Категория:Примитивы]]
[[Категория:Стандартные слова]]
[[Категория:1994 CORE]]
[[Категория:2012 CORE]]

Текущая версия от 18:04, 10 ноября 2017

DECIMAL (десятичная) — стандартное слово Каллисто. Перейти в десятичную систему счисления.

DECIMAL        ( −− )                               Установить десятичную систему счисления.

Устанавливает основание системы счисления при преобразовании чисел на десять. Эта система счисления устанавливается по умолчанию, после запуска Каллисто.

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

В режиме ЛАТ последовательно нажмите клавиши  K   ИП   С/П   7   ÷   ШГ←    

DECIMAL в стандарте ANS Forth[править]

6.1.1170   DECIMAL                                                         CORE
           ( -- )
           Устанавливает основание системы счисления преобразования чисел на 
           десять (десятичные числа).

История[править]

Слово DECIMAL пришло в Каллисто из Форта, где оно входит во все стандарты, не изменившись со времён fig-Форта в 1979 году.

DECIMAL в предыдущем стандарте Forth-83 (англ.)[править]

     DECIMAL      --                            79
          Set the input-output numeric conversion base to ten.

DECIMAL в стандарте Forth-79 (англ.)[править]

DECIMAL                                      197
    Set the input-output numeric conversion base to ten.

DECIMAL в fig-FORTH Release 1 glossary, май 1979 (англ.)[править]

DECIMAL                                         L0
       Set the numeric conversion BASE for decimal input-output.

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

  99 rrBASE          .EQU     1110                   ; 11110  BASE − основание действующей системы счисления
 100 pBASE           .EQU      110
 101 rlBASE          .EQU     1111
…
2374 SETBASE:        PPM rlBASE
2375                 CX PPM rrBASE                   ; Каллисто использует 16−битную переменную для совместимости с Фортом.
2376                 KGOTO9
2377 
2378 ;#DECIMAL
2379 ; DECIMAL          ( −− )                               Установить десятичную систему счисления для ввода−вывода.
2380 LDEC:           .DB     7
2381                 .TEXT   "DECIMAL"
2382                 .DW     LHEX
2383 DEC:            .DW     JDEC
2384 JDEC:           10  PGOTO SETBASE

Реализация из SP-Forth 4.20:

: DECIMAL ( -- ) \ 94
\ Установить основание системы счисления равным десяти.
  10 BASE !
;

Советская реализация[править]

У Баранова-Ноздрунова приводится следующее определение слова DECIMAL через присваивание переменной BASE числа 10 (стр. 24):

 : decimal  ( -- )   10 base ! ;

Описание и определение слова DECIMAL в ядре ФОРТ-ЕС:

DECIMAL   -> ПЕРЕЙТИ В ДЕСЯТИЧНУЮ СИСТЕМУ                       22

                     Экран номер 22
( 31.03.86   FILL ERASE BLANK COMPILE [ ] MIN MAX HEX DECIMAL)

: DECIMAL ( ->) 10 BASE ! ;

В FORTH ИТЭФ слово DECIMAL было примитивом, вот его определение:

            HEAD     207Q,'DECIMA',314Q,DEC               ; DECIMAL
            MOV  WORD PTR [DI]+56Q,10
            NEXT

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


  У этой статьи нет иллюстраций. Вы можете помочь проекту, добавив их.


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