Редактирование: Слово /MOD
Перейти к навигации
Перейти к поиску
Правка может быть отменена. Пожалуйста, просмотрите сравнение версий ниже, чтобы убедиться, что это нужная вам правка, и запишите страницу ниже, чтобы отменить правку.
Текущая версия | Ваш текст | ||
Строка 1: | Строка 1: | ||
[[Файл:samurai.jpg|thumb|right|349px|Самурай /MOD (старший брат слэша).<br>Картинка из книги Лео Броди «Starting FORTH»]] | |||
'''/MOD''' (деление с остатком) — стандартное слово [[Каллисто]]. | '''/MOD''' (деление с остатком) — стандартное слово [[Каллисто]]. | ||
Деление с остатком a на b. | |||
Деление с остатком | |||
== Ввод слова /MOD == | == Ввод слова /MOD == | ||
Строка 11: | Строка 10: | ||
== /MOD в стандарте ANS Forth == | == /MOD в стандарте ANS Forth == | ||
6.1.0240 /MOD "slash-mod" CORE | 6.1.0240 /MOD "slash-mod" CORE | ||
( n1 n2 -- n3 n4 ) | ( n1 n2 -- n3 n4 ) | ||
Строка 21: | Строка 19: | ||
См.: 3.2.2.1 Целочисленное деление. | См.: 3.2.2.1 Целочисленное деление. | ||
== /MOD в предыдущем стандарте Forth-83 (англ.) == | |||
/MOD n1 n2 -- n3 n4 83 "divide-mod" | /MOD n1 n2 -- n3 n4 83 "divide-mod" | ||
n3 is the remainder and n4 the floor of the quotient of n1 | n3 is the remainder and n4 the floor of the quotient of n1 | ||
Строка 36: | Строка 28: | ||
{-32,768..32,767}. See: "division, floored" | {-32,768..32,767}. See: "division, floored" | ||
== /MOD в стандарте Forth-79 (англ.) == | |||
/MOD n1 n2 -- n3 n4 198 "divide-mod" | /MOD n1 n2 -- n3 n4 198 "divide-mod" | ||
Divide n1 by n2 and leave the remainder n3 and quotient n4. | Divide n1 by n2 and leave the remainder n3 and quotient n4. | ||
n3 has the same sign as n1. | n3 has the same sign as n1. | ||
== /MOD в fig-FORTH Release 1 glossary, май 1979 (англ.) == | |||
/MOD n1 n2 --- rem quot L0 | /MOD n1 n2 --- rem quot L0 | ||
Leave the remainder and signed quotient of n1/n2. The remainder has | Leave the remainder and signed quotient of n1/n2. The remainder has | ||
the sign of the dividend. | the sign of the dividend. | ||
== История == | |||
Впервые слово /MOD появилось в Форте 1971-73 годах, когда Чак Мур перенёс транслятор на DEC PDP-11 в [https://en.wikipedia.org/wiki/National_Radio_Astronomy_Observatory National Radio Astronomy Observatory] (''англ.'', [https://ru.wikipedia.org/wiki/%D0%A8%D0%B0%D1%80%D0%BB%D0%BE%D1%82%D1%81%D0%B2%D0%B8%D0%BB%D0%BB_%28%D0%92%D0%B8%D1%80%D0%B3%D0%B8%D0%BD%D0%B8%D1%8F%29 Шарлотсвилл]). | |||
Слово /MOD возвращало и частное, и остаток — являясь идеальным для определения местонахождения записей в файле. | |||
== Реализация == | == Реализация == | ||
Слово /MOD в FORTH ИТЭФ и ФОРТ-ЕС определялось одинаково, через [[примитив]] M/ | Слово /MOD в FORTH ИТЭФ и ФОРТ-ЕС определялось одинаково, через [[примитив]] M/ | ||
Строка 110: | Строка 81: | ||
== Ссылки == | == Ссылки == | ||
* Слово [http://forth.sourceforge.net/standard/dpans/dpans6.htm#6.1.0240 /MOD (slash-mod)] в стандарте ANS Forth ''(англ.)'' | * Слово [http://forth.sourceforge.net/standard/dpans/dpans6.htm#6.1.0240 /MOD (slash-mod)] в стандарте ANS Forth ''(англ.)'' | ||
* Слово [http:// | * Слово [http://www.forth200x.org/documents/html3/core/DivMOD.html /MOD (slash-mod)] в черновике Forth 200x ''(англ.)'' | ||
* Слово [http:// | * Слово [http://www.forth200x.org/documents/html3/core/FMDivMOD.html FM/MOD (f-m-slash-mod)] и [http://www.forth200x.org/documents/html3/rationale.html#rat:core:FM/MOD комментарий к нему] в черновике Forth 200x ''(англ.)'' | ||
* Слово [http:// | * Слово [http://www.forth200x.org/documents/html3/core/SMDivREM.html SM/REM (s-m-slash-rem)] и [http://www.forth200x.org/documents/html3/rationale.html#rat:core:SM/REM комментарий к нему] в черновике Forth 200x ''(англ.)'' | ||
* [http://gudleifr.h1.ru/cgi-bin/pilo.cgi?FL=../g9.txt&IS=\6.PERWOISTOTNIKI\LEO%20BRODIE%20STARTING%20FORTH\02.WYPOLNENIE%20ARIFMETITESKIH%20OPERAZIJ ВЫПОЛНЕНИЕ АРИФМЕТИЧЕСКИХ ОПЕРАЦИЙ] в книге [http://gudleifr.h1.ru/cgi-bin/pilo.cgi?FL=../g9.txt&IS=\6.PERWOISTOTNIKI\LEO%20BRODIE%20STARTING%20FORTH Л.Броуди «Начальный курс программирования на языке Форт»] | * [http://gudleifr.h1.ru/cgi-bin/pilo.cgi?FL=../g9.txt&IS=\6.PERWOISTOTNIKI\LEO%20BRODIE%20STARTING%20FORTH\02.WYPOLNENIE%20ARIFMETITESKIH%20OPERAZIJ ВЫПОЛНЕНИЕ АРИФМЕТИЧЕСКИХ ОПЕРАЦИЙ] в книге [http://gudleifr.h1.ru/cgi-bin/pilo.cgi?FL=../g9.txt&IS=\6.PERWOISTOTNIKI\LEO%20BRODIE%20STARTING%20FORTH Л.Броуди «Начальный курс программирования на языке Форт»] | ||
* [http://www.forth.com/starting-forth/sf2/sf2.html How to Get Results] в книге [http://www.forth.com/starting-forth/ Leo Brodie Starting Forth] ''(англ.)'' | * [http://www.forth.com/starting-forth/sf2/sf2.html How to Get Results] в книге [http://www.forth.com/starting-forth/ Leo Brodie Starting Forth] ''(англ.)'' | ||
Строка 124: | Строка 94: | ||
[[Категория:Арифметические операции Каллисто]] | [[Категория:Арифметические операции Каллисто]] | ||
[[Категория:Операции целочисленного деления Каллисто]] | [[Категория:Операции целочисленного деления Каллисто]] | ||
[[Категория: | [[Категория:Слова Каллисто без стековых диаграмм]] | ||