2/: различия между версиями
Перейти к навигации
Перейти к поиску
AtH (обсуждение | вклад) Нет описания правки |
AtH (обсуждение | вклад) Нет описания правки |
||
Строка 1: | Строка 1: | ||
'''2/''' (на два делить нацело, читается «два дробь») — стандартное слово [[Каллисто]]. Целочисленное деление на 2 (двоичный сдвиг вправо). | |||
2/ ( n -- n1 ) Половина. n1 ← [n/2] | |||
[[Файл:CallistoTwo.png|thumb|right|264px|Пример работы слова 2/]] | [[Файл:CallistoTwo.png|thumb|right|264px|Пример работы слова 2/]] | ||
Делит n на 2. Отбрасывает остаток (цифры после запятой), а частное n1 заносит в [[Стек данных|стек]]. | Делит n на 2. Отбрасывает остаток (цифры после запятой), а частное n1 заносит в [[Стек данных|стек]]. | ||
Строка 35: | Строка 35: | ||
== Ссылки == | == Ссылки == | ||
* См. слова [[2×]] [[2+]] [[2−]] [[BODY〉|BODY>]] | * См. слова [[2×]] [[2+]] [[2−]] [[BODY〉|BODY>]] | ||
* См. также [[символ /]] | |||
* Слово [http://forth.sourceforge.net/standard/dpans/dpans6.htm#6.1.0330 2/ (two-slash)] и [http://forth.sourceforge.net/standard/dpans/dpansa6.htm#A.6.1.0330 комментарии к нему] в стандарте ANS Forth ''(англ.)'' | * Слово [http://forth.sourceforge.net/standard/dpans/dpans6.htm#6.1.0330 2/ (two-slash)] и [http://forth.sourceforge.net/standard/dpans/dpansa6.htm#A.6.1.0330 комментарии к нему] в стандарте ANS Forth ''(англ.)'' | ||
* Слово [http://forth.sourceforge.net/standard/dpans/dpans6.htm#6.1.2162 RSHIFT] в стандарте ANS Forth ''(англ.)'' | * Слово [http://forth.sourceforge.net/standard/dpans/dpans6.htm#6.1.2162 RSHIFT] в стандарте ANS Forth ''(англ.)'' | ||
Строка 42: | Строка 43: | ||
{{заготовка}} | {{заготовка}} | ||
[[Категория:Слова Каллисто]] | [[Категория:Слова Каллисто]] |
Версия от 11:47, 20 марта 2016
2/ (на два делить нацело, читается «два дробь») — стандартное слово Каллисто. Целочисленное деление на 2 (двоичный сдвиг вправо).
2/ ( n -- n1 ) Половина. n1 ← [n/2]
Делит n на 2. Отбрасывает остаток (цифры после запятой), а частное n1 заносит в стек.
Ввод слова 2/
В режиме NUM последовательно нажмите три клавиши 2 F ÷
Детали реализации
Слово 2/ осуществляет арифметический сдвиг вправо на один двоичный разряд — сохраняя знак всех целых чисел, кроме 1. Слово 2× осуществляет обратное действие, двоичный сдвиг влево.
Каллисто реализована поверх десятичной машины «Электроника МК-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.
Ссылки
- См. слова 2× 2+ 2− BODY>
- См. также символ /
- Слово 2/ (two-slash) и комментарии к нему в стандарте ANS Forth (англ.)
- Слово RSHIFT в стандарте ANS Forth (англ.)
- Слова 2/ (two-slash) и RSHIFT в черновике Forth 200x (англ.)
- Битовый сдвиг в Википедии
- Logical shift и Arithmetic shift в английской Википедии (англ.)
Это заготовка статьи. Вы можете помочь проекту, дополнив её. |