2/: различия между версиями
Перейти к навигации
Перейти к поиску
AtH (обсуждение | вклад) |
AtH (обсуждение | вклад) |
||
Строка 8: | Строка 8: | ||
== Детали реализации == | == Детали реализации == | ||
Слово 2/ осуществляет арифметический сдвиг вправо на один двоичный разряд — сохраняя знак всех целых чисел, кроме 1. Слово [[2×]] осуществляет обратное действие, двоичный сдвиг влево. | Слово 2/ осуществляет арифметический сдвиг вправо на один двоичный разряд — сохраняя знак всех целых чисел, кроме 1. Слово [[2×]] осуществляет обратное действие, двоичный сдвиг влево. | ||
[[Каллисто]] реализована поверх десятичной машины [[«Электроника МК-161»]], поэтому поведение этих двух команд может не всегда соответствовать тому, как они реализованы на двоичных форт-машинах. | |||
== 2/ в стандарте ANS Forth == | == 2/ в стандарте ANS Forth == |
Версия от 01:16, 22 февраля 2016
2/ (на два делить нацело) — стандартное слово Каллисто. Целочисленное деление на 2 (двоичный сдвиг вправо).
2/ ( i -- i1 )
Делит i на 2. Отбрасывает остаток, а частное i1 заносит в стек.
Ввод слова 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 (англ.) и комментарии к нему (англ.)
- Слово 2/ (two-slash) в черновике Forth 200x (англ.)
- Битовый сдвиг в Википедии
- Logical shift (англ.) и Arithmetic shift (англ.) в английской Википедии
У этой статьи нет иллюстраций. Вы можете помочь проекту, добавив их. |
Это заготовка статьи. Вы можете помочь проекту, дополнив её. |