只有第一次通过逻辑门提升旗帜,第二次停用它,其他人什么都不做

时间:2016-11-04 15:15:50

标签: boolean-logic boolean-expression bitarray

我想建模bitarray个标志,其中只有第一次通过逻辑表达式设置一个标志,但第二次通过(使用前一个状态计算)停用标志,所有其他通行证什么都不做它。

我想不出前一个状态的正确组合,正确的逻辑表达式和第二个输入(0/1)

bitarray[i] = operand(bitarray[i], value_making_a_change)
  • 1.传递后的所需值 bitarray[i] = boolean_value

  • 第二遍后的期望值 bitarrayp[i] = neg(boolean_value)

  • 每次结果后的期望值 bitarrayp[i] = neg(boolean_value)

我想我可以测试一下这个值,但我的bitarray可能会变得非常大,所以我不希望每个索引都这样做。我可以使用标准的逻辑门/表达式吗?

我尝试使用XOR(old_value, 1),但这会来回更改值:

value = 0
value = XOR(value, 1) = XOR(0, 1) = 1
value = XOR(value, 1) = XOR(1, 1) = 0
value = XOR(value, 1) = XOR(0, 1) = 1
...

0 个答案:

没有答案