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

Материал из ПМК вики
Перейти к навигации Перейти к поиску
Строка 43: Строка 43:
* [http://gudleifr.h1.ru/cgi-bin/pilo.cgi?FL=../g9.txt&IS=\6.PERWOISTOTNIKI\LEO%20BRODIE%20STARTING%20FORTH\05.OPERAZII%20NAD%20ZELYMI%20TISLAMI ОПЕРАЦИИ НАД ЦЕЛЫМИ ЧИСЛАМИ] в книге [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\05.OPERAZII%20NAD%20ZELYMI%20TISLAMI ОПЕРАЦИИ НАД ЦЕЛЫМИ ЧИСЛАМИ] в книге [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\07.TISLO%20TIPOW%20TISEL ЧИСЛО ТИПОВ ЧИСЕЛ] в книге [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\07.TISLO%20TIPOW%20TISEL ЧИСЛО ТИПОВ ЧИСЕЛ] в книге [http://gudleifr.h1.ru/cgi-bin/pilo.cgi?FL=../g9.txt&IS=\6.PERWOISTOTNIKI\LEO%20BRODIE%20STARTING%20FORTH Л.Броуди «Начальный курс программирования на языке Форт»]
* [http://www.forth.com/starting-forth/sf5/sf5.html The Philosophy of Fixed Point] в книге [http://www.forth.com/starting-forth/ Leo Brodie Starting Forth] ''(англ.)''





Версия от 05:39, 25 марта 2016

2/ (на два делить нацело, читается «два дробь») — стандартное слово Каллисто. Целочисленное деление на 2 (двоичный сдвиг вправо).

2/             ( x -- n )                      Половина. n ← [x/2]
Пример работы слова 2/

Делит x на 2. Отбрасывает остаток (цифры после запятой), а частное n заносит в стек.

Ввод слова 2/

В режиме NUM последовательно нажмите три клавиши  2     F   ÷ 

Детали реализации

Слово 2/ осуществляет арифметический сдвиг вправо на один двоичный разряд — сохраняя знак всех целых чисел, кроме 1. Слово осуществляет обратное действие, двоичный сдвиг влево.

Каллисто реализована поверх десятичной машины «Электроника МК-161», поэтому поведение этих двух команд может не всегда соответствовать тому, как они реализованы на двоичных форт-машинах.

2/ в стандарте ANS Forth

6.1.0330   2/                                "two-slash"                   CORE
           ( x1 -- x2 )
           x2 - результат смещения x1 на один бит к младшему двоичному 
           разряду, оставляет старший бит неизменным.
A.6.1.0330   2/
Это слово имеет то же самое общее использование и следствие неверного названия 
как 2∗. Оно часто реализовано на машинах с дополнительным кодом (дополнение до 
двух) аппаратным сдвигом вправо, который распространяет знаковый разряд.

2/ в предыдущем стандарте Forth-83 (англ.)

     2/           n1 -- n2                      83        "two-divide"
          n2 is the result of arithmetically shifting n1 right one
          bit.  The sign is included in the shift and remains
          unchanged.

2/ в стандарте Forth-79 (англ.)

2/             n1 -- n2                                "two-divide"
    Leave (n1)/2.

Ссылки


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