在LabVIEW 2018中,在案例结构中将二进制转换为十进制

问题描述 投票:0回答:1

我有两个CONTROL(具体按钮),当激活时,每个控制一个位。所以它基本上意味着通过同时激活两个按钮,我可以产生的最高数量是2。编辑:好的,我想说的是我能够产生的最高输出是2,因为我只有2个按钮,每个按钮代表1.所以1 + 1 = 2。

但是,这只是逻辑上的理解,因为这些位尚未转换为数字(十进制)格式。我可以使用'Boolean to 0,1'直接转换来获取值,但我被指示使用case结构来完成此操作。

现在我完全感到困惑,因为一个案例结构只需要一个案例选择器,但我有两个按钮。其次,这个问题似乎过于简单,需要案例结构,因此使用更复杂的方法真的更难。

boolean logic system labview circuit
1个回答
1
投票

所以它基本上意味着通过同时激活两个按钮,我可以产生的最高数量是2。

一个2位数可以有四个值,0 ... 3,嗯?

一般来说,如果两个布尔值是数字的位,或者数字可以某种方式从bool计算,那就去做吧。

但是,如果数字可以具有取决于布尔值的预定义值,但无法从它们计算,则需要一些其他类型的区分。也许,无论谁指示你,都记住了这一点。

  1. 您可以为第一个布尔值创建一个案例结构,并在每种情况下,为第二个布尔值插入第二个案例结构。当根据boolenans有更复杂的代码和逻辑时,这是很好的,因此您可以轻松地专注于一个值的组合。对于简单的情况,这缺乏概述,并且当添加第三个布尔值时,它有很多工作。
  2. 计算临时值,并将其连接到单个案例结构。现在,只有一个案例结构,但您没有对所有案例进行概述。注意我已将case struture的基数更改为boolean,因此您可以看到选择器中的位。
  3. 使用简单数组从中获取值
  4. 使用预定义的条件和值创建查找表

(请注意,前两个解决方案强制您实现每个案例,而后两个解决方案不会 - 如果您的数组大小为3,那该怎么办?)

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.