# 논리

논리 함수는 In-Sight 스프레드시트에 부울 대수 및 조건부 테스트 기능을 제공합니다. 모든 비트별 함수는 인수의 이진 표현에서 각 비트 위치에 대해 해당 논리 연산을 수행하고 결과로 나오는 이진수를 10진수 형식으로 반환합니다. 예를 들어 값0의 비트 0을 값1의 비트 0과 비교하고 값0의 비트 1을 값1의 비트 1과 비교합니다.

팁 : 비트별 함수는 MultiStatus 함수에서 다수의 참/거짓 조건의 결과를 GUI 디스플레이 또는 이산 출력으로 결합하는 경우에 특히 유용합니다.

연산자 | 기호
--- | ---
NOT | !
AND | &&
OR | ||
동등 | ==
같지 않음 | <> (또는 !=)

모든 논리 함수에서:

- 거짓 = 0
- 참 = 0이 아닌 모든 결과

참고 : 부울 함수는 빈 셀 또는 빈 문자열을 포함하는 셀을 참조하는 모든 인수를 거짓으로 처리합니다. 비어 있지 않은 문자열("0"이라는 문자열 포함)을 참조하는 인수는 참으로 처리됩니다.

함수 | 설명
And(값1, 값2, ...) | 모든 값이 0이 아닌 경우 1을 반환합니다. (논리 AND 두 값이 모두 참인 경우 결과는 참) 예: And(45, -77) 1을 반환합니다. And(65534, 0) 0을 반환합니다. And(-3, -2, -1, 1, 2, 3) 1을 반환합니다. And(-1, 0, 1) 0을 반환합니다.
BitAnd(값1, 값2, ...) | 값의 비트 단위 AND를 반환합니다. 참고 : 부호 있는 32비트 정수 값을 처리하고 반환합니다. 예: BitAnd(45, 77)은 13을 반환합니다. 45 = 이진수로 0000 0000 0000 0000 0000 0000 0010 1101. 77 = 이진수로 0000 0000 0000 0000 0000 0000 0100 1101. And 연산을 사용하여 이 두 16비트 이진수를 비트별로 비교하면 0000 0000 0000 0000 0000 0000 0000 1101이 생성되는데, 이는 10진수로 13입니다.
BitNot(값) | Value의 비트 단위 역을 반환합니다. 참고 : 부호 있는 32비트 정수 값을 처리하고 반환합니다. 예: BitNot(45)는 46을 반환합니다. 45 = 이진수로 0000 0000 0000 0000 0000 0000 0010 1101. 0을 1로 변환하고 1을 0으로 변환하면 이진수로 1111 1111 1111 1111 1111 1111 1101 0010이 얻어지고 이는 10진수로 -46입니다.
BitOr(값1, 값2, ...) | 값의 비트 단위 OR을 반환합니다. 참고 : 부호 있는 32비트 정수 값을 처리하고 반환합니다. 예: BitOr(45, 77)는 109를 반환합니다. 45 = 이진수로 0000 0000 0000 0000 0000 0000 0010 1101. 77 = 이진수로 0000 0000 0000 0000 0000 0000 0100 1101. Or 연산을 사용하여 이 두 16비트 이진수를 비트별로 비교하면 0000 0000 0000 0000 0000 0000 0110 1101이 생성되는데, 이는 10진수로 109입니다.
BitXor(값1, 값2, ...) | 값의 비트 단위 XOR(배타적 OR)을 반환합니다. (논리 XOR 결과는 비트 중 하나만 참인 경우 참이 됩니다. 2개 이상의 비트가 같은 경우 결과는 FALSE입니다) 참고 : 부호 있는 32비트 정수 값을 처리하고 반환합니다. 예: BitXor(45, 77)는 96을 반환합니다. 45 = 이진수로 0000 0000 0000 0000 0000 0000 0010 1101. 77 = 이진수로 0000 0000 0000 0000 0000 0000 0100 1101. 아래 표시된 것처럼 45와 77 간에는 0110 0000만이 값이 다릅니다.
45 | 77 | 비트 단위 XOR | XOR 비트
0 | 0 | 0이 두 개 ≥ XOR 거짓 | 0 (거짓)
0 | 1 | 1이 한 개 ≥ XOR 참 | 1 (참)
1 | 0 | 1이 한 개 ≥ XOR 참 | 1 (참)
0 | 0 | 0이 두 개 ≥ XOR 거짓 | 0 (거짓)
1 | 1 | 1이 두 개 ≥ XOR 거짓 | 0 (거짓)
1 | 1 | 1이 두 개 ≥ XOR 거짓 | 0 (거짓)
0 | 0 | 0이 두 개 ≥ XOR 거짓 | 0 (거짓)
1 | 1 | 0이 두 개 ≥ XOR 거짓 | 0 (거짓)
0110 0000 = 10진수 96.
If(조건, 값1, 값2) | 조건이 0이 아닌 경우 값1을 반환하고 그렇지 않으면 값2를 반환합니다. 참고 : 조건 또는 인수가 빈 셀을 참조하면 0(거짓)으로 해석됩니다.
InRange(값, 시작, 종료) | Min(시작,종료) ≤ 값 ≤ Max(시작,종료)인 경우 참을 반환합니다.
InTolerance(실제, 예상, 허용 %, 마진) | 실제 값과 예상 값의 차이가 마진보다 큰 경우 실제 값이 예상 값의 허용 오차 % 내에 있는지를 판단합니다. 계산된 백분율 차이의 값이 허용 오차 % 또는 마진 인수보다 크면 0을 반환합니다. 그렇지 않으면 1을 반환합니다. 계산된 값은 제공된 예상 및 실제 값을 사용합니다.
Not(값) | 값이 0이 아닌 경우 0을 반환하고 값이 0이면 1을 반환합니다. (논리적 반전) 예: Not(-12345)는 0을 반환합니다. Not(3.14)는 0을 반환합니다. Not(2-1)은는 0을 반환합니다. Not(1-1)은 1을 반환합니다.
OneShot(값) | 최신 입력 값이 참(0이 아닌 값)이고 이전 입력 값이 거짓(0)이면 참(1)을 반환합니다. 다른 모든 경우에는 거짓(0)을 반환합니다. 예: OneShot(A1) 부울 함수가 포함된 A1 셀을 참조합니다. 처음 실행하면 A1 셀은 0을 반환합니다. OneShot(A1) 0을 반환합니다. 두 번째 실행에서 A1 셀은 1을 반환합니다. OneShot(A1) 1을 반환합니다. OneShot(B2) 더 넓은 범위의 값을 반환하는 함수가 포함된 B2 셀을 말합니다. 처음 실행하면 B2 셀은 12를 반환합니다. OneShot(B2) 1을 반환합니다. 두 번째 실행에서는 B2 셀이 0을 반환합니다. OneShot(B2) 0을 반환합니다. 참고 : 트리거 속도에 따라 OneShot 함수 결과는 매우 빠르게 변동될 수 있습니다. 따라서 디스플레이에서 출력 값이 시각적으로 업데이트되지 않을 수 있습니다.
Or(값1, 값2, ...) | 모든 값이 0이면 0을 반환하고 그렇지 않은 경우 1을 반환합니다. (논리적 OR . 값 중 하나라도 참이면 결과는 참입니다.) 예: Or(45, -77)은 1을 반환합니다. Or(-1, 0, 1)은 1을 반환합니다. Or(0, 1-1)은 0을 반환합니다.