Сдвигатель
Библиотека: | Арифметика |
Введён в: | 2.3.0 |
Внешний вид: |
Поведение
Этот компонент включает два входа: данные и дистанция, и имеет один выход, значение на котором - результат сдвига данные на дистанция позиций. И данные, и выход имеют одинаковое количество битов. Компонент поддерживает следующие типы сдвига:
- Логический левый: все биты в данные сдвигаются вверх на дистанция позиций, а нижние дистанция позиций заполняются нулями. Например, 11001011 логически сдвинутое влево на два - это 00101100. (Две верхние единицы потеряны.)
- Логический правый: все биты в данные сдвигаются вниз на дистанция позиций, а верхние дистанция позиций заполняются нулями. Например, 11001011 логически сдвинутое вправо на два - это 00110010. (Две нижние единицы потеряны.)
- Арифметический правый: все биты в данные сдвигаются вниз на дистанция позиций, а верхние дистанция позиций заполняются повторениями самого верхнего бита в данные. Например, 11001011 арифметически сдвинутое вправо на два - это 11110010.
- Циклический левый: все биты в данные сдвигаются вверх на дистанция позиций, а верхние дистанция позиций прокручиваются вниз. Например, 11001011 циклически сдвинутое влево на два - это 00101111.
- Циклический правый: все биты в данные сдвигаются вниз на дистанция позиций, а нижние дистанция позиций прокручиваются вверх. Например, 11001011 циклически сдвинутое вправо на два - это 11110010.
Обратите внимание, что если дистанция содержит плавающие значения или значения ошибки, то выход полностью состоит из значений ошибки, поскольку нет способа догадаться, на сколько сдвигать входное значение.
Контакты
- Западный край, северный конец (вход, разрядность соответствует атрибуту Биты данных)
- Значение, которое будет сдвинуто.
- Западный край, южный конец (вход, разрядность вычисляется как указано ниже)
- Количество битов значения, на которое нужно сдвигать значение на входе данные. Этот вход должен иметь столько битов, каково минимальное число для указания любой дистанции сдвига от 0 до значения, на единицу меньшего, чем значение атрибута Биты данных; то есть число битов, равное логарифму по основанию 2 от значения атрибута Биты данных, округлённому вверх до ближайшего целого. Например, если значение Биты данных равно 8, то этот вход должен иметь 3 бита; но если оно равно 9, то потребуются 4 бита.
- Восточный край (выход, разрядность соответствует атрибуту Биты данных)
- Результат сдвига входного значения на количество позиций, заданное другим входом.
Атрибуты
Когда компонент выбран, или уже добавлен, комбинации от Alt-0 до Alt-9 меняют его атрибут Биты данных
.
- Биты данных
- Разрядность входа данные и выхода компонента.
- Тип сдвига
- Один из пяти возможных типов сдвига, как описано выше (Логический левый, Логический правый, Арифметический правый, Циклический левый, Циклический правый).
Поведение Инструмента Нажатие
Нет.
Поведение Инструмента Текст
Нет.