Binary 动态生成输入二进制组合

Binary 动态生成输入二进制组合,binary,truthtable,Binary,Truthtable,我目前正在开发一个应用程序,需要在真值表中生成输入信号的二进制组合 信号可以是“0”、“1”或“X”(无所谓)。需求是动态生成输入组合,以便用最少的条目覆盖所有可能的组合。让它变得困难的是不在乎(“X”)条件 示例: 如果我们考虑3位信号“x x x”覆盖所有组合,它是最小的 X | X | X 但如果用户将“X X X”更改为“X X 0”,则应用程序必须插入新条目“X X 1”,以便涵盖所有可能的组合 X | X | 0 X | X | 1 同样,如果用户将“X X 0”更改为“X 1

我目前正在开发一个应用程序,需要在真值表中生成输入信号的二进制组合

信号可以是“0”、“1”或“X”(无所谓)。需求是动态生成输入组合,以便用最少的条目覆盖所有可能的组合。让它变得困难的是不在乎(“X”)条件

示例: 如果我们考虑3位信号“x x x”覆盖所有组合,它是最小的


X | X | X 但如果用户将“X X X”更改为“X X 0”,则应用程序必须插入新条目“X X 1”,以便涵盖所有可能的组合


X | X | 0 X | X | 1 同样,如果用户将“X X 0”更改为“X 1 0”,则我必须生成新条目X 0 0


X | 1 | 0 X | X | 1 X | 0 | 0 现在,如果用户将条目x0更改为xx,则必须删除所有其他条目。最终,该表应尽可能少地包含所有组合

我必须用Java编程,有数学方法吗


谢谢

用户将如何更改这些值?表的哪些部分允许更改?任何就第一排?还是什么?这将实现为Java JTable。在应用程序开始时,该表将有一行,其中所有值都是“X”(不在乎)。然后用户将其中一个值从“X”更改为“0”或“1”,这将强制应用程序生成第一行的1的补码。该表现在有两行。用户可以选择更改表中的任何值。简单地说,确定所有可能的二进制输入组合(包括不关心值“X”)的方法都包含在真值表中,如果不添加/删除组合,则使其完整且最小。