【发布时间】:2018-06-14 21:06:13
【问题描述】:
我正在编写一个 java 程序,我正在使用一个二维数组创建一个全减法器的真值表。这样做时,我想用以下公式计算借出: B(out) = !(X).Y + (!(X ^ Y))B(in)
所以,我是这样写的:
table[i][4] = ((!(table[i][2]))&table[i][1])+((!(table[i][2]^table[i][1]))*table[i][0]);
(here: table[i][4] = cell to store borrow out;
table[i][2] = cell storing X;
table[i][1] = cell storing Y;
table[i][0] = cell storing borrow in B(in) )
虽然 XOR(^) 和 AND(&) 和 or(|) 工作正常,但 NOT(!) 出现以下错误:
operator ! cannot be applied to int
我该如何纠正这个问题?有没有其他方法可以将此公式编写为 JAVA 代码?请帮忙。
【问题讨论】:
-
为什么要使用
int来存储boolean 值? -
X是函数还是值?如果它是一个函数,则需要返回一个boolean值,因为! 1没有意义,但! true可以。!用于反转boolean结果 -
您需要将位运算符与
ints 一起使用,而不是逻辑运算符
标签: java int not-operator boolean-algebra