왜 + 부호가 논리 OR 연산자로 일반적으로 사용됩니까?


14

며칠 전에 나는 디지털 논리에서 부울 OR 연산자로 기호 +대신 v기호 를 사용하는 것이 왜 흔한 지 물었다 .

그의 주장은 +일반용도 / 문맥에서 AND로 해석 될 가능성이 높기 때문에 OR 에 사용하는 것이 완전히 직관적이라고 반박했다 .

위키에서 : 논리와 수학에서, 또는 (포괄적 인) 분리와 교대로 알려진 진리 기능 연산자입니다. 이 연산자를 나타내는 논리 연결은 "or"라고도하며 일반적으로 vor로 작성됩니다 +.

나는 약간의 연구를 해왔고 v사인 의 기원을 생각 해냈다 . "또는"을 의미하는 라틴어 "vel"에서 나옵니다.

혼란스러운 성격을 더하는 한 가지는 +역사적 관점에서 볼 때 'and' 를 의미합니다. 이것이것 에 따르면 1360 년경에 더하기 부호와 유사한 라틴어 "et"( "and")의 약자로 발명되었습니다.

그러나 +부울 대수에서 나온 단서가 없으며 v디지털 논리 / 공학적 맥락에서 선호되는 이유가 없습니다 .


4
OR은 "정상적인"수학에서 플러스와 비슷합니다. AND는 MULTIPLY와 유사하므로 연산자가 사용됩니다.
Majenko

이진 논리 평가에서 0이 아닌 결과는 "1"로 간주되고 "sum"이 정확할 것입니다.
Tut

2
0 * 1 = 0 및 0 AND 1 = 0. 0 + 1 = 1 및 0 또는 1 = 1
광자

2
더 이론적으로, 0은 정수에 대한 추가 동일성이고 0은 부울 값 세트의 OR 연산에 대한 동일성 값입니다. (내가 당신의 전문 용어를 남용한 경우 모든 수학자에게 사과드립니다)
Photon

1
키보드에 V가있는 동안 문자 V는 특수 V가 아니고 AND에 대해 거꾸로 V가없는 것일 수 있습니다. 키보드는 OR 사람들을 위해 또는 단지에 대한 키를 가지고 있었다 어쩌면 경우, 그들은 + 사용하지 것이다
barlop

답변:


16

한마디 : 분포

곱셈은 ​​덧셈에 대해 분배 적이며, 논리 OR에 대해 논리적이며 분배 적입니다.

반면에 곱셈은 종종 기호 2a대신 () 대신 사용 2*a되며 논리 AND는 매우 유사합니다. A와 B가 모두 맞아야하는 경우 AB를 작성하는 것이 간단하고 직관적입니다.

진리표 및 알고리즘을 기반으로 알고리즘을 구성하는 데 매우 편리합니다.

에프=+

경험이 거의없는 사람이라도 언뜻 보면 fA가 참이거나 B C가 참일 때 발생할 수 있습니다 .

와 비교 몇 일 동안 사용하지 않을 경우, 다시 궁금해해야했다

에프=
v 수술실과 ^반대 AND, 또는 그? 잊어 버리지 않더라도 곱셈 및 덧셈 기호를 사용하면 특히 혼동 할 수 없으므로 훨씬 명확하고 읽기 쉽습니다. 부울 논리에는 덧셈이나 곱셈이 없으므로 기호를 재사용 할 수 있습니다.

사실 1 * 0 = 01 + 0 = 1와 부울 대수에서 우리가 선택한 1평균 true로 및 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). 그래도 곱셈이 "와"처럼 동작한다는 사실은 "또는"이 "+"에 매핑되도록 결정하기에 충분한 근거라고 생각합니다.
supercat

나는이 답변을 AndrejaKo의 답변보다 다소 깨끗하고 요점 때문에 받아들이는 경향이 있습니다.
Rev1.0

20

논리 AND 및 OR 부호에 항상 사용하는 한 가지 추론은 이들이 나타내는 수학적 연산과의 관계입니다.

논리 AND로 시작하겠습니다. 종종 곱셈 부호로 표시됩니다 (예 : *). 따라서 s1 * s2 * s3 * s4 ....와 같은 긴 표현식이 있고 변수 중 하나의 값이 0이거나 논리적 인 거짓 인 경우 전체 표현식의 값은 0입니다. 1 * 1 * 0 * 1 ...은 0과 같기 때문에

반면 논리 OR을 나타 내기 위해 일반적으로 덧셈을 나타내는 + 부호를 사용하면 비슷한 경우가 있습니다. OR 된 변수가 여러 개인 경우 s1 + s2 + s3 + s4의 경우가 다시 발생합니다. 변수 중 하나만 0이 아닌 경우 결과도 0이 아닙니다. OR을 덧셈과 비교할 때 논리 (IMHO) 예를 들어 0 + 0 + 1 + 0 ...은 1과 같습니다.이 중단 점은 하나 더 있다는 것입니다. 결과는 여전히 하나입니다. 내가 이것을 위해 사용했던 한 가지 생각 방법은 존재가 존재한다는 것을 명심하는 것입니다. 그래서 무언가가 존재하고 당신이 그것에 존재를 더 추가해도 여전히 존재합니다.


논리 연산이 부울 대수로 정의되었으므로 부호는 규칙의 문제라고 생각합니다. 논리합은 부호가 누구나 될 수 있도록 논리 곱으로 잘 정의됩니다. 나는 더 친숙한 표시가 사용되며 정의와 관련이있을 수 있다고 생각합니다. 좋은 대답입니다.
Martin Petrei

흥미로운 답변. 관심의 대상으로, 나는 +이진 연산자로서 부호 의 역사적 기원 이 더하기 부호와 유사한 라틴어 "et"( "and")의 약어로 나온다고 생각합니다.
Rev1.0

5

Michael Shcroeder의 "Boole의 대수 표기법에 대한 간략한 역사", Nordic Journal of Philosophical Logic 2 (1) : 41-62 (1997), +를 사용하여 그의 "Elementa Calculi"에서 Leibniz를 포함하거나-를 나타내는 속성 Boole의 표기법 사용과 다른 표기법에 대해 설명합니다. 온라인 링크


2

프린터 와 전송 코드에 유의하지 않고 +, ∩, ∨, ∧ 대신 +를 사용하는 것이 일반적인 이유에 대한 설명은 없습니다. (예 : Baudot, ITA 및 ASCII)가 알파벳, 숫자 및 '공통 비즈니스 기호를 제공 '.

지금은 상상하기 어렵지만 입력시 특수 기호를 쉽게 표현할 수 없었고 조판시에도 추가 비용이 발생했습니다.

수학자 (및 다른 Algol 지지자들)는 이러한 이유로 더 큰 기호 세트를 원했지만 50 년 전에는 '역 v 기호를 대신 사용하지 않는 이유'를 쓰지 않으면 더 큰 질문을 표현할 수 없었을 것입니다. .AND. ? '


오늘날에도 특수 기호를 입력하는 것만으로도 키보드에 키가있는 것을 입력하는 것보다 더 많은 노력을 기울이고 다른 시스템간에 이동할 때 ASCII가 아닌 문자가 엉망이되는 경우가 있습니다 (일부 ASCII 문자는 마크 업 언어의 상승으로 인해 취약하기도합니다).
Peter Green
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.