Преобразование двоичного в десятичное в структуре case в LabVIEW 2018

У меня есть два элемента управления (в частности, кнопки), которые при активации действуют как один бит каждый. Таким образом, это в основном означает, что максимальное число, которое я могу получить, равно 2, если обе кнопки активированы одновременно. РЕДАКТИРОВАТЬ: Хорошо, я хотел сказать, что самый высокий результат, который я смогу создать, - это два, потому что у меня есть только 2 кнопки, каждая из которых представляет 1. Итак, 1 + 1 = 2.

Однако это понимается только логически, потому что биты еще предстоит преобразовать в числовой (десятичный) формат. Я могу использовать «логическое значение в 0,1», преобразованное напрямую, чтобы получить значения, но мне указано использовать структуру case для завершения этого.

Прямо сейчас я в полном недоумении, потому что для структуры кейсов нужен ровно ОДИН селектор кейсов, а у меня есть ДВЕ кнопки. Во-вторых, эта проблема кажется слишком ПРОСТОЙ, чтобы требовать структуры прецедентов, что действительно затрудняет использование более сложного метода.


person Eshmam    schedule 26.02.2019    source источник
comment
Использовать одну структуру case внутри каждого случая другой структуры case?   -  person nekomatic    schedule 27.02.2019


Ответы (1)


Таким образом, это в основном означает, что максимальное число, которое я могу получить, равно 2, если обе кнопки активированы одновременно.

Двухбитное число может иметь четыре значения, 0...3, хм?

В общем, если два логических значения являются битами числа или число можно каким-то образом вычислить из логических значений, сделайте это.

Но если число может иметь предопределенные значения, которые зависят от логических значений, но не могут быть вычислены из них, вам нужно какое-то другое различие в регистре. Может быть, тот, кто инструктировал вас, имел это в виду.

  1. Вы можете создать структуру case для первого логического значения и в каждом случае вставить вторую структуру case для второго логического значения. Это хорошо, когда будет более сложный код и логика в зависимости от буленов, так что можно легко сконцентрироваться на одной комбинации значений. Для простых случаев в этом нет обзора, а при добавлении третьего логического значения требуется много работы.

  2. Рассчитайте промежуточное значение и подключите его к единой структуре case. Теперь есть только одна структура дела, но у вас нет обзора всех дел. Примечание. Я изменил основание структуры case на логическое, чтобы вы могли видеть биты в селекторе.

  3. Используйте простой массив, чтобы получить значение из

  4. Создайте таблицу поиска с предопределенными условиями и значениями

(Обратите внимание, что первые два решения заставляют вас реализовывать каждый случай, а последние два — нет — что, если ваши массивы имеют размер только 3?)

введите здесь описание изображения

person sweber    schedule 27.02.2019
comment
Я действительно люблю и ценю то, насколько вы информативны и красноречивы. Большое спасибо, честно. Я очень благодарен. - person Eshmam; 28.02.2019