비교 함수 사용하기
- 업데이트 날짜:2025-08-27
- 5분 (읽기 시간)
비교 함수를 사용하여 숫자값, 문자열, 불리언 값, 배열, 클러스터를 비교합니다. 대부분의 비교 함수는 하나의 입력을 테스트하거나 두 개의 입력을 비교하고 불리언 값을 반환합니다.
숫자값 비교하기
대부분의 비교 함수는 한 개의 입력을 테스트하거나 두 개 입력을 비교하여 불리언 값을 반환합니다. 함수는 숫자를 비교하기 전에 먼저 같은 형으로 변환합니다. 함수는 각 입력을 정확한 비교를 위해 필요한 가장 큰 형으로 변환합니다. 숫자 아님(NaN) 값을 갖는 하나 또는 두 개의 입력을 비교하면 비교가 같지 않다는 것을 나타내는 결과가 반환됩니다.
모든 실수가 ANSI/IEEE 표준에서 부동소수로 나타나지는 않습니다. 따라서 부동소수를 사용하는 비교는 반올림 에러 때문에 예상밖의 결과를 발생시킬 수 있습니다.
문자열 비교하기
비교 함수는 ASCII 문자 코드의 값에 따라 문자열을 비교합니다. 비교 함수는 문자열을 비교하는데 일치하지 않는 것을 만나거나 하나의 문자열이 끝날 때까지 0번째 원소로 시작해서 한 번에 하나의 원소를 비교합니다. 이 함수는 긴 문자열을 짧은 문자열보다 큰 것으로 취급합니다.
예를 들어, a (십진수 97)는 A (65)보다 크며, 이것은 숫자 0 (48)보다 크고, 이는 스페이스 문자(32)보다 큽니다. LabVIEW는 문자열의 문자를 처음부터 하나씩 다른 값이 나올 때까지 비교하며, 다른 값이 나오면 비교를 끝냅니다. 예를 들어, LabVIEW는 문자열 abcd와 abef를 e의 값보다 작은 c를 찾을 때까지 비교합니다. 문자가 있는 것은 문자가 없는 것보다 큽니다. 따라서, 문자열 abcd는 abc보다 큽니다. 첫번째 문자열이 더 길기 때문입니다.
[10진수?] 및 [인쇄가능?] 함수와 같이 문자열 문자의 범주를 확인하는 함수는 문자열의 첫번째 문자만을 평가합니다.
불리언 값 비교하기
비교 함수는 참의 불리언 값을 거짓의 불리언 값보다 큰 것으로 취급합니다.
배열과 클러스터 비교하기
일부 비교 함수에는 데이터 배열 또는 클러스터를 비교하는데 사용할 수 있는 모드가 두 가지 있습니다. 집합 비교 모드에서 두 배열 또는 클러스터를 비교할 경우, 함수는 단일 불리언 값을 반환합니다. 원소 비교 모드에서, 함수는 개별 원소를 비교한 후 불리언 값의 배열이나 클러스터를 반환합니다.
집합 비교 모드에서, 문자열 비교와 배열 비교 작업은 정확히 같은 방식으로 진행됩니다―비교 함수는 문자열을 ASCII 문자의 배열로 취급합니다.
비교 함수에서 마우스 오른쪽 버튼을 클릭한 후 바로 가기 메뉴에서 비교 모드≫원소 비교 또는 비교 모드≫집합 비교를 선택하여 함수의 모드를 변경합니다. 일부 비교 함수는 오직 집합 비교 모드로만 사용할 수 있기 때문에, 바로 가기 메뉴 아이템이 나타나지 않습니다.
배열
다차원 배열을 비교할 때, 함수에 연결된 각 배열은 반드시 같은 차원이어야 합니다. 집합 비교 모드로만 사용할 수 있는 비교 함수는 문자열을 비교하는 것과 같은 방법으로 배열을 비교합니다―첫번째 원소부터 하나씩 차례로 비교하여 서로 다른 원소가 나올 때까지 비교합니다.
원소 비교 모드
원소 비교 모드에서, 비교 함수는 입력 배열과 같은 차원의 불리언 값의 배열을 반환합니다. 출력 배열의 각 차원은 두 입력 배열 중에서 작은 차원의 크기입니다. 행, 열, 또는 페이지와 같은 각 차원을 따라서, 함수는 각 입력 배열의 해당 원소를 비교하여 출력 배열의 해당 불리언 값을 만듭니다.
집합 비교 모드
집합 비교 모드에서, 비교 함수는 배열의 원소를 비교한 후 단일 불리언 결과를 반환합니다. 비교 함수는 결정이 날 때까지 순차적으로 원소를 비교하며, 영어 단어의 알파벳 순서에서 서로 다른 문자가 나올 때까지 각 단어의 철자를 비교하는 경우와 유사합니다. 그렇기 때문에, 함수는 다음 단계를 수행하여 비교의 결과를 찾습니다.
- 함수는 배열의 처음부터 시작하여 각 입력 배열의 대응하는 원소를 비교합니다.
- 대응하는 원소가 같지 않은 경우, 함수는 멈춘 후 비교의 결과를 반환합니다.
- 대응하는 원소가 같은 경우, 비교 함수는 서로 다른 값을 찾거나 입력 배열 중 하나의 끝에 도달할 때까지 다음 비교 값을 처리합니다.
- 입력 배열의 모든 값이 같은 같지만 한 배열의 끝에 비교되지 않은 원소가 남아있을 경우, 긴 배열이 짧은 배열보다 큰 것으로 간주됩니다. 예를 들어, 비교 함수는 배열 [1,2,3,2]를 배열 [1,2,3]보다 큰 것으로 간주합니다.
| 노트 범위내 확인과 강제변환 함수는 세 개의 입력을 필요로 하기 때문에 집합 비교 모드의 다른 비교 함수와는 다르게 작동합니다. 첫번째 원소 세트를 비교한 후, 이 함수는 상위 리미트, 하위 리미트 및 x 입력이 모두 같은 경우에만 다음 값 세트를 처리합니다. 그렇지 않은 경우, 이 함수는 첫번째 원소 세트를 비교한 결과를 반환합니다. |
클러스터
비교할 클러스터는 반드시 같은 수의 원소를 포함해야만 하고, 클러스터의 각 원소는 반드시 호환 가능한 타입이어야 하며, 원소는 반드시 클러스터에서 같은 순서여야 합니다. 예를 들어, DBL과 문자열의 클러스터를 I32와 문자열의 클러스터에 비교할 수 있습니다.
원소 비교 모드
원소 비교 모드에서, 비교 함수는 입력 클러스터의 각 해당 원소에 대응하는 불리언 원소의 클러스터를 반환합니다.
집합 비교 모드
집합 비교 모드에서, 비교 함수는 클러스터의 원소를 비교한 후 단일 불리언 결과를 반환합니다. 비교 함수는 결정이 날 때까지 순차적으로 원소를 비교하며, 영어 단어의 알파벳 순서에서 서로 다른 문자가 나올 때까지 각 단어의 철자를 비교하는 경우와 유사합니다. 그렇기 때문에, 함수는 다음 단계를 수행하여 비교의 결과를 찾습니다.
- 함수는 클러스터의 처음부터 시작하여 각 입력 클러스터의 대응하는 원소를 비교합니다.
- 대응하는 원소가 같지 않은 경우, 함수는 멈춘 후 비교의 결과를 반환합니다.
- 대응하는 원소가 같은 경우, 비교 함수는 서로 다른 값을 찾거나 입력 클러스터의 끝에 도달할 때까지 다음 비교 값을 처리합니다.
- 입력 클러스터의 모든 값이 같지만 한 배열의 끝에 비교되지 않은 원소가 남아있을 경우, 큰 클러스터가 작은 클러스터보다 큰 것으로 간주됩니다. 예를 들어, 비교 함수는 클러스터 [1,2,3,2]를 클러스터 [1,2,3]보다 큰 것으로 간주합니다.
| 노트 범위내 확인과 강제변환 함수는 세 개의 입력을 필요로 하기 때문에 집합 비교 모드의 다른 비교 함수와는 다르게 작동합니다. 첫번째 원소 세트를 비교한 후, 이 함수는 상위 리미트, 하위 리미트 및 x 입력이 모두 같은 경우에만 다음 값 세트를 처리합니다. 그렇지 않은 경우, 이 함수는 첫번째 원소 세트를 비교한 결과를 반환합니다. |
정렬된 데이터를 포함하는 두 레코드를 비교할 경우, 클러스터에 집합 비교 모드를 사용합니다. 이 때 클러스터에서 앞에 있는 원소가 뒤에 있는 원소보다 먼저 비교됩니다. 예를 들어, 차례로 성과 이름의 두 문자열을 포함하는 클러스터를 비교할 경우, 함수는 성이 일치할 경우에만 이름을 비교할 것입니다.
참조 비교하기
LabVIEW는 [같음?]과 [같지 않음?] 비교 함수를 사용하여 VI 서버 참조를 비교합니다. 이 비교 함수를 사용하여 데이터 타입의 배열 또는 클러스터를 같은 데이터 타입의 스칼라와 비교하고 불리언 값의 배열 또는 클러스터를 생성할 수 있습니다. VI 서버 참조를 비교할 때, 이 함수는 두 개의 참조가 같은 값이나 같은 기능을 하는지에는 관계없이 같은 객체를 참조하는지에 따라서 참이나 거짓을 반환합니다. 같은 객체에 대해 여러 참조를 가질 수 있기 때문에 참조의 정수값은 다를 수 있지만 여전히 같은 객체를 참조할 수 있습니다. 또한, 두 개의 참조의 기능은 같은 객체를 참조한다고 할지라도 다를 수 있습니다. 예를 들면, 참조 중의 하나는 인증을 받고 다른 하나는 인증을 받지 않는다면, 이 참조들은 다른 기능을 가지지만 여전히 같은 객체를 참조합니다.
예를 들면, 하나의 VI 서버 참조는 디지털 숫자형 컨트롤에 대한 엄격한 참조가 될 수 있고 다른 참조는 일반 참조가 될 수 있습니다. 그러나 같은 객체를 참조하면 동등합니다. 마찬가지로, 두 개의 참조가 같은 객체를 참조하지만 그 참조 중의 하나가 인증받고 다른 하나는 인증을 받지 못할 때, 이 함수는 참을 반환합니다. 그러나, 같은 LabVIEW 객체에 대해 로컬 참조와 원격 참조를 가질 때, 같음? 함수는 거짓을 반환합니다.
배리언트 비교하기
배리언트 데이터를 비교할 때, 데이터 타입, 값, 속성 이름, 속성 값이 같아야 일치하는 것으로 간주됩니다.