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

Материал из ПМК вики
Перейти к навигации Перейти к поиску
Нет описания правки
Нет описания правки
Строка 1: Строка 1:
'''2/''' — стандартное слово [[Каллисто]].
'''2/''' (на два делить нацело) — стандартное слово [[Каллисто]]. Целочисленное деление на 2 (двоичный сдвиг вправо).
 
2/            ( i -- i1 )
Целочисленное деление на 2 (двоичный сдвиг вправо).
Делит i на 2, частное i1 заносит в [[Стек данных|стек]]. Слово 2/ осуществляет арифметический сдвиг вправо на один двоичный разряд.
 


== 2/ в стандарте ANS Forth ==
== 2/ в стандарте ANS Forth ==
Строка 14: Строка 13:
  как 2∗. Оно часто реализовано на машинах с дополнительным кодом (дополнение до  
  как 2∗. Оно часто реализовано на машинах с дополнительным кодом (дополнение до  
  двух) аппаратным сдвигом вправо, который распространяет знаковый разряд.
  двух) аппаратным сдвигом вправо, который распространяет знаковый разряд.


== 2/ в предыдущем стандарте Forth-83 (англ.) ==
== 2/ в предыдущем стандарте Forth-83 (англ.) ==
Строка 21: Строка 19:
           bit.  The sign is included in the shift and remains
           bit.  The sign is included in the shift and remains
           unchanged.
           unchanged.


== 2/ в стандарте Forth-79 (англ.) ==
== 2/ в стандарте Forth-79 (англ.) ==
  2/            n1 -- n2                                "two-divide"
  2/            n1 -- n2                                "two-divide"
     Leave (n1)/2.
     Leave (n1)/2.


== Ссылки ==
== Ссылки ==
* См. слова [[2÷]] [[2×]] [[2+]] [[BODY〉|BODY>]]
* [http://forth.sourceforge.net/standard/dpans/dpans6.htm#6.1.0330 Слово 2/ (two-slash) в стандарте ANS Forth] ''(англ.)'' и [http://forth.sourceforge.net/standard/dpans/dpansa6.htm#A.6.1.0330 комментарии к нему] ''(англ.)''
* [http://forth.sourceforge.net/standard/dpans/dpans6.htm#6.1.0330 Слово 2/ (two-slash) в стандарте ANS Forth] ''(англ.)'' и [http://forth.sourceforge.net/standard/dpans/dpansa6.htm#A.6.1.0330 комментарии к нему] ''(англ.)''
* [http://www.forth200x.org/documents/html/core.html#core:2/ Слово 2/ (two-slash) в черновике Forth 200x] ''(англ.)''
* [http://www.forth200x.org/documents/html/core.html#core:2/ Слово 2/ (two-slash) в черновике Forth 200x] ''(англ.)''
* [https://ru.wikipedia.org/wiki/%D0%91%D0%B8%D1%82%D0%BE%D0%B2%D1%8B%D0%B9_%D1%81%D0%B4%D0%B2%D0%B8%D0%B3 Битовый сдвиг в Википедии]
* [https://ru.wikipedia.org/wiki/%D0%91%D0%B8%D1%82%D0%BE%D0%B2%D1%8B%D0%B9_%D1%81%D0%B4%D0%B2%D0%B8%D0%B3 Битовый сдвиг в Википедии]
* [https://en.wikipedia.org/wiki/Logical_shift Logical shift] ''(англ.)'' и [https://en.wikipedia.org/wiki/Arithmetic_shift Arithmetic shift] ''(англ.)'' в английской Википедии
* [https://en.wikipedia.org/wiki/Logical_shift Logical shift] ''(англ.)'' и [https://en.wikipedia.org/wiki/Arithmetic_shift Arithmetic shift] ''(англ.)'' в английской Википедии
* См. также слова [[2×]] [[2÷]]




Строка 42: Строка 38:
[[Категория:Одноместные операции Каллисто]]
[[Категория:Одноместные операции Каллисто]]
[[Категория:Операции целочисленного деления Каллисто]]
[[Категория:Операции целочисленного деления Каллисто]]
[[Категория:Слова Каллисто без стековых диаграмм]]
[[Категория:Описание бета-версии Каллисто]]

Версия от 17:20, 24 октября 2015

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

2/             ( i -- i1 )

Делит i на 2, частное i1 заносит в стек. Слово 2/ осуществляет арифметический сдвиг вправо на один двоичный разряд.

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.

Ссылки


  У этой статьи нет иллюстраций. Вы можете помочь проекту, добавив их.


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