Битовой строкой (bit string) называются данные, представленные в виде двоичной последовательности.
Для работы с битовой строкой используются логические и арифметические операции, а также операторы сдвига.
Функциональные блоки в среде программирования PC WоrX на языке программирования Function Block Diagram, соответствующие операциям сдвига, представляются элементами ROL, ROR, SHL и SHR:
Результатом операции ROL (циклический сдвиг влево) будет битовая строка, полученная перемещением N бит из начала строки в ее конец.
Результатом операции ROR (циклический сдвиг вправо) будет битовая строка, полученная перемещением N бит из конца строки в ее начало.
Результатом операции SHL (сдвиг влево) будет битовая строка, полученная сдвигом влево на N бит фрагмента строки, начиная с N+1. Оставшиеся битовые позиции справа заполняются нулями.
Результатом операции SHR (сдвиг вправо) будет битовая строка, полученная сдвигом вправо на N бит фрагмента строки, начиная с N+1. Оставшиеся битовые позиции слева заполняются нулями.
Если число N задано меньше нуля, то функции будут возвращать значение равное нулю, так как параметр N по физическому смыслу предполагается только беззнаковым целым. Недопустимо задавать вход N типом bool, это вызовет ошибку программируемого логического контроллера.
Для демонстрации размещения операторов сдвига подготовлено видео:
Замечание. Обратите внимание, что для того чтобы указать тип данных BYTE необходимо в режиме отладки при вводе значений переменной в окне «Debug: STD_RES» установить значение «Binary» в меню «Valuedisplay»:
При этом сами значения в "Value" записываются так: сначала 2 (означает двоичную систему), затем решетка, только после этого бинарная строка (т.е. строка значений из нулей и единиц).
Лабораторная работа «Операции сдвига над битовыми строками».
Цель и пример выполнения лабораторной работы "Операции сдвига над битовыми строками" описаны в учебном пособии:
https://portfolio.vvsu.ru/schoolbook/details/idm/2145176752/tid/10495/
Варианты для самостоятельного решения:
Получите в среде программирования PC WorX результат операций сдвига на N бит операторами ROL, ROR, SHL и SHR для битовой строки (см. табл. ниже).
Лабораторная работа «Получение определённой битовой строки из заданной битовой строки».
Цель и пример выполнения лабораторной работы "Получение определённой битовой строки из заданной битовой строки" описаны в учебном пособии:
https://portfolio.vvsu.ru/schoolbook/details/idm/2145176752/tid/10495/
Также для информационной поддержки создано видео:
Варианты для самостоятельного решения:
Реализуйте в среде программирования PC WorX программу на языке программирования Function Block Diagram, позволяющую из битовой строки столбца I получить битовую строку столбца II (см. табл. ниже). При необходимости используйте логические операции AND, OR, NOT, XOR или арифметические операции.
В виде комментария под лекцией приведите свои программы на языке программирования Function Block Diagram в режиме отладки для получения определённой битовой строки из заданной битовой строки.
см. полный список теоретических материалов и примеров лабораторных работ: https://dzen.ru/a/ZAq0N8VOKEDcTDy3?share_to=link.