Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Машина Тьюринга. Как сделать циклический сдвиг влево двоичного числа?

Вячеслав Киреев Ученик (87), закрыт 9 лет назад
Насколько я понимаю, циклический сдвиг подразумевает подобную перестановку.


Как реализовать данную операцию в машине Тьюринга?

Лучший ответ
Алексей Гуров Просветленный (33841) 9 лет назад
"...насколько я понимаю, циклический сдвиг подразумевает подобную перестановку.... "
Нет, не так. У Вас на рисунке организован "просто сдвиг влево".
А циклический сдвиг подразумевает, что информация смещается циклически, то есть, из старшего бита попадёт в самый младший и будет постоянно смещаться "по кругу".
Остальные ответы
Владимир Ветряков Мыслитель (9641) 9 лет назад
В любом регистре цифровой техники эта операция выполняется легко. Подключаются линии задержки между его ячейками и любой импульс в 1-ю ячейку "сдвинет" их состояния как камень брошенный в воду. Если просто надо составить алгоритм сдвига запятой, то умножай или дели на "2" или на "10", в зависимости от представления числа в том или ином коде.
Илья Пешко Знаток (266) 9 лет назад
0[0]-0[0]R
0[1]-1[0]L
1[0]-0[1]R

где 0,1 - состояние машины; [0],[1]-значение ячейки; R,L - направление перемещения машины относительно ленты;

слева от дефиса состояние машины в данный момент времени, справа, состояние, на которое машина должна измениться.
Lexy Lee Son Мастер (1745) 9 лет назад
в него реально сдвиг
Макс Ученик (202) 9 лет назад
Отгатка таится в решении
Похожие вопросы