选项保存在序列中

时间:2015-02-08 01:45:10

标签: sequence options

所以我为我的生活无法弄清楚如何去做。所以我想做的是以序列格式保存选项。例如:

Option A = 1
Option B = 2
Option C = 4
Option D = 8
Option E = 16

因此,如果我们勾选了选项A和C,那么它实际上会将变量设置为Option = A + C = 5

因此,当程序启动时,它会加载Option = 5并从那里决定勾选选项A和C.我知道我可以在所有31种可能性中使用if语句,但这似乎是一种愚蠢的方式,并且有一种更简单的方法。事实上,我有90%肯定我已经在之前的程序中使用了这个,没有额外的代码行,但是不记得我是怎么做的。

任何帮助都会很棒。感谢。

1 个答案:

答案 0 :(得分:0)

经过一段时间的睡眠计算出来。也许有一个更简单的方法,但我基本上加倍计数器,直到它是目标数字之前的序列中的数字,然后在检查总数时分开。如果总数大于目标那么它就不能保存总数。如果它少了它就保存它并添加到一个字符串中,列出用分号分隔的所有数字。

举个例子,我们的目标号是2482。 (为了我的目的不切实际,但仍然只是一个例子)

该计划确定目标下方的下一个数字为2048,然后除以2 1024。然后它检查是否超过了目标。 2048 + 1024 = 3072 > 2482。因为它更大它忽略它。继续前进,直至找到256,然后检查。 256 + 2048 = 2304 < 2482所以它保留了它。 Total = 2304。程序不断重复此过程,直到总数等于目标。所以我们的模式是2048;256;128;32;16;2;。我交叉引用存储在INI文件中的所有这些数字,以查看每个数字的作用。

无论如何,如果有其他人决定他们想要使用一个序列希望我帮助了。