我有两个CONTROL(特别是按钮),当它们被激活时,每个控件仅充当一位。 因此,这基本上意味着,通过同时激活两个按钮,我最多可以产生2个数字。编辑:好的,我的意思是说,我将要产生的最高输出是2,因为我只有2个按钮,每个按钮代表1。所以1 + 1 = 2。
但是,这仅是逻辑上的理解,因为这些位尚未转换为数字(十进制)格式。我可以使用直接转换为值的“布尔值转换为0,1”来获取值,但是我被告知要使用案例结构来完成此操作。
现在,我很困惑,因为一个案例结构需要一个case选择器,但是我有两个按钮。其次,这个问题似乎太简单了,以至于不要求使用案例结构,因此使用更复杂的方法确实更加困难。
答案 0 :(得分:1)
所以从根本上讲,通过同时激活两个按钮,我最多可以产生2个数字。
一个2位数字可以有四个值,0 ... 3,嗯?
通常,如果两个布尔值是数字的位,或者可以通过布尔值以某种方式计算出数字,则执行此操作。
但是,如果数字可以具有取决于布尔值的预定义值,但不能根据布尔值进行计算,则需要某种其他的区分大小写。也许,无论谁指导您,都牢记这一点。
您可以为第一个布尔值创建一个case结构,并在每种情况下为第二个布尔值插入第二个case结构。当根据布尔值有更复杂的代码和逻辑时,这很好,因此您可以轻松地专注于值的一种组合。对于简单的情况,这缺乏概述,并且在添加第三个布尔值时,需要进行很多工作。
计算一个临时值,并将其连接到单个案例结构。现在,只有一个案例结构,但是您没有所有案例的概览。注意,我已经将案例结构的基数更改为布尔值,因此您可以在选择器中看到位。
使用简单的数组从中获取值
使用预定义的条件和值创建查找表
(请注意,前两种解决方案会强制您实现每种情况,而后两种则不会—如果您的数组大小仅为3,怎么办?)