为什么+符号通常用作逻辑OR运算符?


14

几天前,有人问我,为什么在数字逻辑中使用+而不是v符号作为布尔OR运算符很常见。

他的论点是,使用+OR 完全是反直观的,因为从一般用法/上下文中更有可能将其解释为AND。

来自Wiki:在逻辑和数学中,或者是真函数运算符,也被称为(包括)析取和交替。表示该运算符的逻辑连接词也称为“或”,通常表示为v+

我做了一些研究,想出了v标志的由来。它来自拉丁文“ vel”,意思是“或”。

总的来说,令人困惑的一件事是,+从历史的角度来看,这意味着“和”。根据这个这个它是围绕1360和缩写拉丁文“ET”(“和”)类似的加号发明。

但是,我不知道是谁+在布尔代数中提出的,以及为什么它似乎v在数字逻辑/工程环境中更受欢迎。


4
OR在“正常”数学中类似于PLUS。AND类似于MULTIPLY,因此使用·运算符。
Majenko

也许是因为在二进制逻辑评估中,任何非零结果都将被视为“ 1”,那么“ sum”将是正确的。
2014年

2
0 * 1 = 0和0 AND 1 =0。0+ 1 = 1和0 OR 1 = 1
Photon

2
从理论上讲,0是整数的加法标识,0也是布尔值集上的OR运算的标识值。(如果我滥用了您的行话,向所有数学家表示歉意)
Photon Photo

1
可能是因为键盘上有一个V,但对于AND来说,字母V不是一个特殊的V,并且对于AND,它们也没有颠倒的V。也许如果键盘上有用于这些的键,甚至只是用于OR的键,那么它们就不会使用+
barlop

Answers:


16

一句话:分布性

乘法是加法的分配,逻辑和是逻辑或的分配。

另一方面,乘法通常不带符号(2a而不是2*a)使用,并且逻辑与非常相似。如果A和B都必须为真,则编写AB既简单又直观。

在构造真值表和基于它们的算法时非常方便。

f=A+BC

即使是经验不足的人也会乍看之下,这f可能在A为true或B C均为true时发生。

f=ABC
v^

这样的事实1 * 0 = 0,并1 + 0 = 1和布尔代数我们选择1以平均真实,0是指虚假也有助于确定哪些操作是哪个。数学中的符号就是:符号。它们之所以具有含义,是因为我们为它们分配了含义,所以最好选择易于记忆的符号,并且它们在其他字段中的用法相似。


3
运算符AND和OR 彼此进行分配,而乘法和加法则不会。不仅A or (B and C)等效(A or B) and (A or C),而且X and (Y or Z)等效于(X and Y) or (X and Z)。不过,我认为乘法的行为更像“和”,这一事实足以决定“或”被映射为“ +”。
超级猫2014年

我倾向于接受这个答案,因为它比AndrejaKo的答案更干净,更明确。
2014年

20

我一直用于逻辑AND和OR符号的一道推理是它们与它们所代表的数学运算的关系。

让我们从逻辑与开始。它通常表示为乘法符号,例如*。因此,如果您有一个像s1 * s2 * s3 * s4 ...这样的长表达式,并且其中一个变量的取值为0或逻辑假,则整个表达式的取值为0,这对于乘法是很正常的,因为1 * 1 * 0 * 1 ...等于0。

另一方面,当我们使用+号(通常表示加法来表示逻辑OR)时,我们也有类似的情况。如果我们对多个变量进行“或”运算,则又有s1 + s2 + s3 + s4 ...的情况。如果只有一个变量为非零,那么结果也将为非零,即当我们将OR与加法进行比较时,逻辑(IMHO)。例如0 + 0 + 1 + 0 ...等于1。这种中断的一点是我们有更多点,结果仍然只有1。我为此使用的一种思维方式是,要记住,一个代表存在,所以某种事物存在,而您向其中添加更多的存在,它将仍然存在。


我认为符号是约定俗成的问题,因为逻辑运算是在布尔代数中定义的。逻辑和定义为逻辑乘积,因此符号可以是任何人。我认为使用了更熟悉的符号,这可能与定义有关。好答案。
Martin Petrei 2014年

有趣的答案。有意思的是,我只是对我的帖子进行了补充,似乎该+符号的历史起源(作为二进制运算符)可以归结为类似于加号的拉丁语“ et”(“ and”)的缩写。
Rev1.0

5

迈克尔·史克洛德(Michael Shcroeder)的“布尔的代数符号的简要历史”,北欧哲学逻辑杂志2(1):41-62(1997),在他的“元素计算”中使用+来表示包容性或莱布尼兹。讨论了Boole对符号的使用,以及其他一些符号。在线链接


2

如果不注意打印机传输代码(例如Baudot,ITA和ASCII)提供了字母,数字和“通用商业符号”,那么关于使用+代替∪,∩,∨,∧的常见原因的讨论将是完整的。'。

现在很难想象,但是有一段时间不容易在输入中表示特殊符号,即使在排版时也表示附加成本。

出于这个原因,数学家(和其他Algol支持者)想要一个更大的符号集,但是50年前,您甚至无法表达出更大的问题,只是写了“为什么我们不使用反v符号呢?写作 '


即使到了今天,输入特殊符号仍然比仅在键盘上键入具有键盘键的东西还要付出更多的努力,并且在不同系统之间移动时,非ASCII字符有时会被弄乱(尽管某些ASCII字符也由于标记语言的出现而容易受到攻击)。
格林
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.