我正在尝试将真值表的结果转换回布尔语句。对于不熟悉的人,我将详细写它。
我有一个格式如下的字符串向量。向量内的所有字符串成员都具有相等的长度。成员仅由-
or0
或组成1
。例如向量 v 包含 3 个成员,每个成员的长度为 5。
string vv[] = { "--1-0" , "-1-1-" , "01-1-" };
std::vector<string> v(begin(vv), end(vv));
字符串的每个字符代表另一个向量“A”成员以及一个布尔运算。例如,
第一个--1-0
是(A[2] && !A[4])
我想将上面的向量v
转换为
(A[2] && !A[4]) || (A[1] && A[3] ) || (!A[0] && A[1] && A[3])
我想要做的是有一个带有向量v
和A
作为输入的函数,并且返回高于布尔语句。我相信您已经注意到1
is true
, 0
isNot true
和-
is don't care 状态。
编辑:我不打算解决一个truthTable 或Kmap。我已经有了结果。我的结果采用“v”向量的格式。我想使用布尔语句在 V 和 A 之间创建链接。
任何建议表示赞赏。