Por que o sinal + é comumente usado como operador OR lógico?

14

Alguns dias atrás, perguntaram-me por que é bastante comum usar +o vsímbolo em vez do símbolo como operador OR booleano na lógica digital.

Seu argumento era que é totalmente contra-intuitivo usar +para OR, porque é mais provável que seja interpretado como AND a partir do uso / contexto geral.

Do Wiki : Em lógica e matemática, ou é um operador funcional da verdade, também conhecido como disjunção e alternância (inclusive). O conectivo lógico que representa esse operador também é conhecido como "ou" e normalmente escrito como vou +.

Eu fiz algumas pesquisas e surgiu com a origem do vsinal. Vem da palavra latina "vel", que significa "ou".

Uma coisa que se soma à natureza confusa é que isso +significa 'e' de um ponto de vista histórico. De acordo com isto e isto , foi inventado por volta de 1360 como e abreviação para o latim "et" ("e") semelhante ao sinal de mais.

No entanto, não tenho idéia de quem surgiu +na álgebra booleana e por que ela parece preferida ao vcontexto da lógica / engenharia digital.

Rev1.0
fonte
4
OR é semelhante a PLUS em matemática "normal". AND é semelhante a MULTIPLY, portanto, o operador é usado.
Majenko 29/09
Talvez porque na avaliação da lógica binária, qualquer resultado diferente de zero seja considerado "1" e "soma" esteja correto.
Tut
2
0 * 1 = 0 e 0 AND 1 = 0. 0 + 1 = 1 e 0 OU 1 = 1.
O fóton
2
Mais teoricamente, 0 é a identidade aditiva para os números inteiros e 0 também é o valor da identidade para a operação OR no conjunto de valores booleanos. (Desculpas para qualquer matemáticos se eu abusado seu jargão)
O Photon
1
Será que, embora os teclados tenham um V, é a letra V não um V especial para ou, e eles não têm um V de cabeça para baixo para AND. Talvez se teclados tinha as chaves para aqueles ou mesmo apenas para OU, então eles não usaria +
barlop

Respostas:

16

Uma palavra: distributividade

A multiplicação é distributiva sobre adição, e também é lógica E distributiva sobre OU lógica.

Por outro lado, a multiplicação é frequentemente usada sem um símbolo (em 2avez de 2*a), e AND lógico é muito semelhante. Se A e B devem ser verdadeiros, é simples e intuitivo escrever AB.

É muito útil na construção de tabelas e algoritmos verdadeiros baseados nelas.

f=A+BC

mesmo alguém com pouca experiência perceberá, à primeira vista, que isso fpode ocorrer quando A é verdadeiro ou quando B e C são verdadeiros.

f=ABC
v^

O fato de que 1 * 0 = 0e 1 + 0 = 1na álgebra booleana optamos 1por verdadeiro e 0falso também ajuda a identificar qual operador é qual. Símbolos em matemática são apenas isso: símbolos. Eles têm um significado porque atribuímos um significado a eles; portanto, é melhor escolhermos símbolos que possam ser facilmente lembrados e seu uso em outros campos seja semelhante.

vsz
fonte
3
Os operadores AND e OR distribuem um pelo outro , de maneira que multiplicação e adição não. Não é apenas A or (B and C)equivalente a (A or B) and (A or C), mas X and (Y or Z)é equivalente a (X and Y) or (X and Z). Ainda assim, acho que o fato de a multiplicação se comportar mais como "e" é base suficiente para decidir que "ou" é mapeado para "+".
Supercat
Costumo aceitar esta resposta porque é um pouco mais limpa e objetiva do que a de AndrejaKo.
precisa saber é o seguinte
20

Uma linha de raciocínio que sempre usei para sinais lógicos AND e OR é sua relação com as operações matemáticas que eles representam.

Vamos começar com AND lógico. É frequentemente representado como sinal de multiplicação, por exemplo *. Portanto, se você tiver uma expressão longa como s1 * s2 * s3 * s4 .... e uma das variáveis ​​receber o valor 0, ou falso lógico, a expressão inteira receberá o valor 0, o que é bastante normal para multiplicação , porque 1 * 1 * 0 * 1 ... é igual a 0.

Por outro lado, quando usamos o sinal +, que geralmente significa adição para representar OR lógico, temos um caso semelhante. Se tivermos várias variáveis ​​ORed, teremos novamente o caso de s1 + s2 + s3 + s4 ... Se apenas uma das variáveis ​​for diferente de zero, o resultado também será diferente de zero, o que é lógico (IMHO) quando comparamos OU à adição. Por exemplo 0 + 0 + 1 + 0 ... é igual a 1. Um ponto em que isso quebra é que temos mais, o resultado ainda é apenas um. Uma maneira de pensar que usei para isso é ter em mente que um representa a existência, então algo existe e você acrescenta mais existência a ele, ele ainda existirá.

AndrejaKo
fonte
Eu acho que o sinal é uma questão de convenção, desde as operações lógicas definidas na álgebra booleana. A soma lógica é bem definida como o produto lógico, para que o sinal possa ser qualquer um. Acho que são utilizados os sinais mais familiares, que podem ter alguma relação com as definições. Boa resposta.
Martin Petrei
Resposta interessante. Como ponto de interesse, eu apenas acrescentei ao meu post que parece que a origem histórica do +sinal (como operador binário) se resume a uma abreviação para Latin "et" ("e") semelhante ao sinal de adição.
precisa saber é o seguinte
5

Michael Shcroeder, "Uma breve história da notação da álgebra de Boole", Nordic Journal of Philosophical Logic 2 (1): 41-62 (1997), atribui o uso de + para representar inclusivo - ou a Leibniz em seu "Elementa Calculi", e discute o uso da notação por Boole, bem como algumas outras notações. link online

Tobias Hagge
fonte
2

Nenhuma discussão sobre por que é comum usar + em vez de ∪, ∩, ∨, ∧ estaria completa sem observar que as impressoras e os códigos de transmissão (como Baudot, ITA e ASCII) forneceram o alfabeto, números e símbolos comerciais comuns '

É difícil imaginar agora, mas houve um tempo em que símbolos especiais não eram facilmente representados na entrada e representavam um custo adicional mesmo quando digitados.

Os matemáticos (e outros apoiadores de Algol) queriam um conjunto maior de símbolos por esse motivo, mas 50 anos atrás, você não seria capaz de expressar a pergunta maior, exceto escrevendo 'por que não usamos o símbolo v invertido? de escrever .AND. ?

david
fonte
Até hoje, inserir símbolos especiais é ainda mais trabalhoso do que digitar algo que tenha uma tecla no teclado e caracteres não-ascii às vezes ficam distorcidos ao se mover entre sistemas diferentes (embora alguns caracteres ASCII sejam vulneráveis ​​também devido ao aumento das linguagens de marcação).
Peter Green