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

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


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


== DECIMAL в стандарте ANS Forth ==
== DECIMAL в стандарте ANS Forth ==
Строка 13: Строка 13:


== История ==
== История ==
Слово DECIMAL пришло в [[Каллисто]] из Форта, где оно входит во все стандарты, не изменившись со времён fig-Форта в 1979 году.
=== DECIMAL в предыдущем стандарте Forth-83 (англ.) ===
=== DECIMAL в предыдущем стандарте Forth-83 (англ.) ===
       DECIMAL      --                            79
       DECIMAL      --                            79
Строка 26: Строка 28:


== Реализация ==
== Реализация ==
<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 через присваивание переменной [[BASE]] числа 10 (стр. 24):
   : decimal  ( -- )  10 base ! ;
   : decimal  ( -- )  10 base ! ;
Строка 60: Строка 88:
[[Категория:Слова Каллисто]]
[[Категория:Слова Каллисто]]
[[Категория:Примитивы]]
[[Категория:Примитивы]]
[[Категория:Стандартные слова]]
[[Категория: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

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


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


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