UCONVERT
CONVERT — стандартное слово Каллисто.
Ввод слова CONVERT
В режиме ЛАТ последовательно нажмите клавиши С/П 5 4 ↔ ИП × 2
CONVERT в стандарте ANS Forth
6.2.0970 CONVERT CORE EXT ( ud1 c-addr1 -- ud2 c-addr2 ) ud2 - результат преобразования символов в пределах текста начинающегося с первого символа после c-addr1 в цифры, используя число из BASE, и добавление каждой цифры в ud1 после умножения ud1 на число из BASE. Преобразование продолжается до встречи с не преобразуемым символом. c-addr2 - адрес ячейки первого не преобразованного символа. Неопределенная ситуация существует, если ud2 переполняется.
Примечание: Это слово устаревшее и включено как уступка существующим реализациям. Его функция заменена на 6.1.0570 >NUMBER.
См.: 3.2.1.2 Преобразование цифр.
A.6.2.0970 CONVERT CONVERT может быть определено следующим образом:
: CONVERT CHAR+ 65535 >NUMBER DROP ;
CONVERT в предыдущем стандарте Forth-83 (англ.)
CONVERT +d1 addr1 -- +d2 addr2 79 +d2 is the result of converting the characters within the text beginning at addr1+1 into digits, using the value of BASE , and accumulating each into +d1 after multiplying +d1 by the value of BASE . Conversion continues until an unconvertible character is encounter. addr2 is the location of the first unconvertible character.
CONVERT в стандарте Forth-79 (англ.)
CONVERT d1 addr1 -- d2 addr2 195 Convert to the equivalent stack number the text beginning at addr1+1 with regard to BASE. The new value is accumulated into double number d1, being left as d2. addr2 is the address of the first non-convertible character.
(NUMBER) в fig-FORTH Release 1 glossary, май 1979 (англ.)
(NUMBER) d1 addr1 --- d2 addr2 Convert the ascii text beginning at addr1+l with regard to BASE. The new value is accumulated into double number d1, being left as d2. Addr2 is the address of the first unconvertable digit. Used by NUMBER.
История
В стандарте Форта 1994 года слово CONVERT было определено, как устаревшее. Его нет в черновике стандарта 200x года.
Реализация
Определение слова CONVERT в ядре ФОРТ-ЕС:
Экран номер 39 ( 31.03.86 DIGIT CONVERT NUMBER ) : CONVERT ( WD1,AI->WD2,A2) BEGIN 1+ DUP >R C@ BASE @ DIGIT WHILE SWAP BASE @ UM* DROP ROT BASE @ UM* D+ DPL @ 1+ IF DPL 1+! THEN R> REPEAT R> ;
Ссылки
- Слово CONVERT и комментарий к нему в стандарте ANS Forth (англ.)
- ВВОД-ВЫВОД в книге Л.Броуди «Начальный курс программирования на языке Форт»
- I/O and You в книге Leo Brodie Starting Forth (англ.)
У этой статьи нет иллюстраций. Вы можете помочь проекту, добавив их. |
Это заготовка статьи. Вы можете помочь проекту, дополнив её. |