| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- <html>
- <head>
- <meta http-equiv="content-type" content="text/html; charset=UTF-8">
- <title>Сдвигатель</title>
- </head>
- <body bgcolor="FFFFFF">
- <h1><img align="center" src="../../../../en/icons/shifter.gif" width="32" height="32">
- <em>Сдвигатель</em></h1>
- <p><table>
- <tr><td><strong>Библиотека:</strong></td>
- <td><a href="index.html">Арифметика</a></td></tr>
- <tr><td><strong>Введён в:</strong></td>
- <td>2.3.0</td></tr>
- <tr><td valign="top"><strong>Внешний вид:</strong></td>
- <td valign="top"><img src="../../../../en/img-libs/shifter.png" width="44" height="42"></td></tr>
- </table></p>
- <h2>Поведение</h2>
- <p>Этот компонент включает два входа: <var>данные</var> и <var>дистанция</var>, и имеет один выход, значение на котором - результат сдвига <var>данные</var> на <var>дистанция</var> позиций. И <var>данные</var>, и выход имеют одинаковое количество битов. Компонент поддерживает следующие типы сдвига:</p>
- <ul>
- <li>Логический левый: все биты в <var>данные</var> сдвигаются вверх на <var>дистанция</var> позиций, а нижние <var>дистанция</var> позиций заполняются нулями. Например, 11001011 логически сдвинутое влево на два - это 00101100. (Две верхние единицы потеряны.)</li>
- <li>Логический правый: все биты в <var>данные</var> сдвигаются вниз на <var>дистанция</var> позиций, а верхние <var>дистанция</var> позиций заполняются нулями. Например, 11001011 логически сдвинутое вправо на два - это 00110010. (Две нижние единицы потеряны.)</li>
- <li>Арифметический правый: все биты в <var>данные</var> сдвигаются вниз на <var>дистанция</var> позиций, а верхние <var>дистанция</var> позиций заполняются повторениями самого верхнего бита в <var>данные</var>. Например, 11001011 арифметически сдвинутое вправо на два - это 11110010.</li>
- <li>Циклический левый: все биты в <var>данные</var> сдвигаются вверх на <var>дистанция</var> позиций, а верхние <var>дистанция</var> позиций прокручиваются вниз. Например, 11001011 циклически сдвинутое влево на два - это 00101111.</li>
- <li>Циклический правый: все биты в <var>данные</var> сдвигаются вниз на <var>дистанция</var> позиций, а нижние <var>дистанция</var> позиций прокручиваются вверх. Например, 11001011 циклически сдвинутое вправо на два - это 11110010.</li>
- </ul>
- <p>Обратите внимание, что если <var>дистанция</var> содержит плавающие значения или значения ошибки, то выход полностью состоит из значений ошибки, поскольку нет способа догадаться, на сколько сдвигать входное значение.</p>
- <h2>Контакты</h2>
- <dl>
- <dt>Западный край, северный конец (вход, разрядность соответствует атрибуту Биты данных)</dt>
- <dd>Значение, которое будет сдвинуто.</dd>
- <dt>Западный край, южный конец (вход, разрядность вычисляется как указано ниже)</dt>
- <dd>Количество битов значения, на которое нужно сдвигать значение на входе <var>данные</var>. Этот вход должен иметь столько битов, каково минимальное число для указания любой дистанции сдвига от 0 до значения, на единицу меньшего, чем значение атрибута Биты данных; то есть число битов, равное логарифму по основанию 2 от значения атрибута Биты данных, округлённому вверх до ближайшего целого. Например, если значение Биты данных равно 8, то этот вход должен иметь 3 бита; но если оно равно 9, то потребуются 4 бита.</dd>
- <dt>Восточный край (выход, разрядность соответствует атрибуту Биты данных)
- <dd>Результат сдвига входного значения на количество позиций, заданное другим входом.</dd>
- </dl>
- <h2>Атрибуты</h2>
- <p>Когда компонент выбран, или уже добавлен, комбинации от Alt-0 до Alt-9 меняют его атрибут <q>Биты данных</q>.</p>
- <dl>
- <dt>Биты данных</dt>
- <dd>Разрядность входа <var>данные</var> и выхода компонента.</dd>
- <dt>Тип сдвига</dt>
- <dd>Один из пяти возможных типов сдвига, как описано выше (Логический левый, Логический правый, Арифметический правый, Циклический левый, Циклический правый).</dd>
- </dl>
- <h2>Поведение Инструмента Нажатие</h2>
- <p>Нет.</p>
- <h2>Поведение Инструмента Текст</h2>
- <p>Нет.</p>
- <p><a href="../index.html">Назад к <em>Справке по библиотеке</em></a></p>
- </body>
- </html>
|