¦X¦: различия между версиями
AtH (обсуждение | вклад) (→Ссылки) |
AtH (обсуждение | вклад) Нет описания правки |
||
Строка 1: | Строка 1: | ||
'''|X|''' (абсолютное значение) — стандартное слово [[Каллисто]]. Вычисление модуля. | '''|X|''' (абсолютное значение) — стандартное слово [[Каллисто]]. Вычисление модуля. | ||
|X| ( x | |X| ( x −− p ) Вычисление модуля. p := |x| | ||
p — абсолютная величина числа x, т.е. тоже значение числа, но непременно положительное. | p — абсолютная величина числа x, т.е. тоже значение числа, но непременно положительное. | ||
Строка 63: | Строка 62: | ||
== Ссылки == | == Ссылки == | ||
* {{Исходник|ABS||X|}} | |||
* См. слово [[ЗН]] | * См. слово [[ЗН]] | ||
* [http://ru.wikipedia.org/wiki/%D0%90%D0%B1%D1%81%D0%BE%D0%BB%D1%8E%D1%82%D0%BD%D0%B0%D1%8F_%D0%B2%D0%B5%D0%BB%D0%B8%D1%87%D0%B8%D0%BD%D0%B0 Абсолютная величина в Википедии] | * [http://ru.wikipedia.org/wiki/%D0%90%D0%B1%D1%81%D0%BE%D0%BB%D1%8E%D1%82%D0%BD%D0%B0%D1%8F_%D0%B2%D0%B5%D0%BB%D0%B8%D1%87%D0%B8%D0%BD%D0%B0 Абсолютная величина в Википедии] | ||
Строка 77: | Строка 77: | ||
[[Категория:Арифметические операции Каллисто]] | [[Категория:Арифметические операции Каллисто]] | ||
[[Категория:Одноместные операции Каллисто]] | [[Категория:Одноместные операции Каллисто]] | ||
Версия от 19:35, 3 июня 2016
|X| (абсолютное значение) — стандартное слово Каллисто. Вычисление модуля.
|X| ( x −− p ) Вычисление модуля. p := |x|
p — абсолютная величина числа x, т.е. тоже значение числа, но непременно положительное.
Для нуля и положительных чисел p=x, для отрицательных чисел p=−x.
Ввод слова |X|
В режиме NUM последовательно нажмите клавиши F П Р-ГРД-Г 0 P F П
Детали реализации
Слово |X| является «обёрткой» вокруг команды ЭКВМ К |x|.
FABS в стандарте ANS Forth
12.6.2.1474 FABS "f-abs" FLOATING EXT ( F: r1 -- r2 ) or ( r1 -- r2 ) r2 - абсолютное значение r1.
ABS в стандарте ANS Forth
6.1.0690 ABS "abs" CORE ( n -- u ) u - абсолютное значение n.
ABS в предыдущем стандарте Forth-83 (англ.)
ABS n -- u 79 "absolute" u is the absolute value of n. If n is -32,768 then u is the same value. See: "arithmetic, two's complement"
ABS в стандарте Forth-79 (англ.)
ABS n1 -- n1 108 "absolute" Leave the absolute value of a number.
ABS в fig-FORTH Release 1 glossary, май 1979 (англ.)
ABS n --- u L0 Leave the absolute value of n as u.
История
В отличие от Форта-83, в Каллисто абсолютная величина -32768 равна 32768.
Реализация
У Баранова-Ноздрунова приводится следующее определение слова |X| (стр. 28):
: |X| ( A ---> абс A ) ↑ 0< IF NEGATE THEN ;
Слово |X| в ядре ФОРТ-ЕС работало лишь с целыми числами. Оно называлось ABS и определено через арифметику числовых пар, отсутствующую в Каллисто:
ABS N1->N2 АБСОЛЮТНАЯ ВЕЛИЧИНА 17 Экран номер 17 ( 31.03.86 NEGATE ABS + - 1+ 1- 2+ 2- +! 1+! ) : ABS ( N1->+N2) S>D DABS DROP ;
В FORTH ИТЭФ слово |X| также называлось ABS, работало с целыми и было примитивом. Вот его определение:
HEAD 203Q,'AB',323Q,ABS ; ABS POP AX CMP AX, 0 JNS AB NEG AX AB: PUSH AX NEXT
Ссылки
- Исходный текст слова |X| в Каллисто Классик 1.0
- См. слово ЗН
- Абсолютная величина в Википедии
- Слова ABS (abs) и FABS (f-abs) в стандарте ANS Forth (англ.)
- Слова ABS (abs) и FABS (f-abs) в черновике Forth 200x (англ.)
- ОПЕРАЦИИ НАД ЦЕЛЫМИ ЧИСЛАМИ в книге Л.Броуди «Начальный курс программирования на языке Форт»
- The Philosophy of Fixed Point в книге Leo Brodie Starting Forth (англ.)
У этой статьи нет иллюстраций. Вы можете помочь проекту, добавив их. |
Это заготовка статьи. Вы можете помочь проекту, дополнив её. |