DECIMAL: различия между версиями
Перейти к навигации
Перейти к поиску
AtH (обсуждение | вклад) |
AtH (обсуждение | вклад) |
||
(не показана 1 промежуточная версия этого же участника) | |||
Строка 28: | Строка 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 ! ; |
Текущая версия от 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
Ссылки[править]
- Исходный текст слова DECIMAL в Каллисто Классик 1.0
- См. слова Каллисто HEX, BASE
- Десятичная система счисления на Википедии
- Слово DECIMAL в стандарте ANS Forth (англ.)
- Слово DECIMAL в черновике Forth 200x (англ.)
- ЧИСЛО ТИПОВ ЧИСЕЛ в книге Л.Броуди «Начальный курс программирования на языке Форт»
- A Number of Kinds of Numbers в книге Leo Brodie Starting Forth (англ.)
- Variables, Constants, and Arrays в книге Leo Brodie Starting Forth (англ.)
У этой статьи нет иллюстраций. Вы можете помочь проекту, добавив их. |
Это заготовка статьи. Вы можете помочь проекту, дополнив её. |