Задача G. Битовые сдвиги

Автор:M. Liamaev, D. Glushkova   Ограничение времени:10 сек
Входной файл:Стандартный вход   Ограничение памяти:256 Мб
Выходной файл:Стандартный выход  

Условие

Реализуйте в программе Logisim − evolution логический, арифметический и циклический сдвиги на заданное количество разрядов.

Формат входных данных

Тестируемая схема должна называться main. Входы и выходы схемы должны быть названы так же, как в таблицах ниже. Нарушение этого требования приведет к ошибке PE.

Запрещено использовать стандартное умножение, иначе получите ошибку LI

Входы
Label/МеткаБитностьОписание
Inp8 Входное число
Method2 Метод сдвига (00-логический, 01-арифметический, 10-циклический)
Shift3 Число разрядов для сдвига
Left_Right1 Флаг направления сдвига (влево = 0, вправо = 1)

Выходы
Label/МеткаБитностьОписание
Ans8Результат сдвига

Примеры тестов

Стандартный вход Стандартный выход
1
Inp[8] Method[2] Shift[3] Left_Right[1] Ans[8]
3 1 7 0 10000000
3 1 7 1 00000000
3 1 1 1 00000001
3 1 1 1 00000001
3 1 1 0 00000110
3 0 1 1 1
31 0 3 1 3
31 0 3 0 11111000
Тест запускается через GUI Logisim Simulate → Test Vector
2
Inp[8] Method[2] Shift[3] Left_Right[1] Ans[8]
12 1 1 0 24
12 1 1 1 6
12 0 1 0 24
12 0 1 1 6
12 1 3 0 96
76 0 3 1 9
76 0 3 0 96
Тест запускается через GUI Logisim Simulate → Test Vector

0.186s 0.018s 13