Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/442.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript中的布尔加法_Javascript_Boolean Logic - Fatal编程技术网

Javascript中的布尔加法

Javascript中的布尔加法,javascript,boolean-logic,Javascript,Boolean Logic,如何在javascript中创建干净的布尔外接程序 1+1 = 0; 1+0 = 1; 1+1+1 = 1; 等等,一个人能对布尔数求和吗 true+true = false false+true = true; 等等。只需使用: FWIW:同样适用于大多数高级编程语言。您需要的是: 对于布尔型,这可以通过使用短路和或运算符来实现 function myXOR(a,b) { return ( a || b ) && !( a && b );

如何在javascript中创建干净的布尔外接程序

1+1 = 0;
1+0 = 1;
1+1+1 = 1;
等等,一个人能对布尔数求和吗

true+true = false
false+true = true;
等等。

只需使用:


FWIW:同样适用于大多数高级编程语言。

您需要的是:

对于布尔型,这可以通过使用短路和或运算符来实现

function myXOR(a,b) {   
       return ( a || b ) && !( a && b );    
}
myXOR(true,true) == false

这与布尔加法不同。布尔加法是异或运算符。@AaditMShah我认为与布尔加法等价的是或运算符。看看这个例子:@basilikum我明白你想说什么,但我相信OP是想用JavaScript创建一个加法器。因此,求和使用xor,进位使用and。看:@VisioN是的,没错。但OR似乎仍然等同于布尔加法。只需谷歌“布尔加法”。然而,如果OP真的希望
1+1
等于
0
,那么他可能不会真的寻找布尔加法,因为这样会得到
1
。我实际上只做了(bool1+bool2+bool3)%2
1+1
在布尔加法中不应该是1吗?@basilikum否。
0+0=0
0+1=1
1+0=1
1+1=0(结转1)
。因此,布尔加法是异或运算符,进位可以使用布尔乘法(即and运算符)找到。@AaditMShah-Hmm…好,但是为什么我找到的每一个资料都说布尔加法等于OR,而
1+1
等于
1
@basilikum,因为布尔乘法是
,而布尔加法实际上是
。然而,我相信OP正在寻求创建一个半加法器。这需要xor运算。或者显然是,或者+是其他东西。(上述进位部分等。是半加法器)
1 ^ 1 = 0;
1 ^ 0 = 1;
1 ^ 1 ^ 1 = 1;
1 ^ 1 = 0;
1 ^ 0 = 1;
function myXOR(a,b) {   
       return ( a || b ) && !( a && b );    
}
myXOR(true,true) == false