And 연산자(Visual Basic)
두 Boolean 식의 논리곱 연산을 수행하거나 두 숫자 식에서 비트 논리곱 연산을 수행합니다.
result = expression1 And expression2
요소
result
필수 요소. 임의의 Boolean 또는 숫자 식입니다. 부울 비교의 경우 result는 두 Boolean 값의 논리곱입니다. 비트 연산의 경우 result는 두 개의 숫자 비트 패턴의 비트 논리곱을 나타내는 숫자 값입니다.expression1
필수 요소. 임의의 Boolean 또는 숫자 식입니다.expression2
필수 요소. 임의의 Boolean 또는 숫자 식입니다.
설명
부울 비교의 경우 result는 expression1 및 expression2가 모두 True인 경우에만 True입니다. 다음 표에서는 result가 결정되는 방식을 보여 줍니다.
expression1의 값 |
expression2의 값 |
result의 값 |
---|---|---|
True |
True |
True |
True |
False |
False |
False |
True |
False |
False |
False |
False |
참고
부울 비교에서 And 연산자는 항상 두 식을 계산하고 프로시저 호출을 포함할 수 있습니다.AndAlso 연산자(Visual Basic)는 expression1이 False일 경우 expression2를 계산하지 않는 단락(short circuit) 연산을 수행합니다.
And 연산자를 숫자 값에 적용할 경우 두 숫자 식에 있는 동일한 위치의 비트에 대한 비트 비교가 수행되며, 다음 표에 따라 result의 해당 비트가 설정됩니다.
expression1의 비트 |
expression2의 비트 |
result의 비트 |
---|---|---|
1 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
참고
논리 및 비트 연산자는 산술 및 관계 연산자보다 우선 순위가 낮으므로 올바르게 실행하려면 모든 비트 연산을 괄호로 묶어야 합니다.
데이터 형식
피연산자가 Boolean 식 하나와 숫자 식 하나로 구성되어 있는 경우 Visual Basic에서는 Boolean 식을 숫자 값(True인 경우 –1, False인 경우 0)으로 변환하고 비트 연산을 수행합니다.
부울 비교 결과의 데이터 형식은 Boolean이며 비트 비교 결과의 데이터 형식은 expression1 및 expression2의 데이터 형식에 적합한 숫자 형식입니다. 연산자 결과의 데이터 형식(Visual Basic)의 "관계 및 비트 비교" 표를 참조하십시오.
참고
And 연산자는 필요에 따라 오버로드할 수 있습니다. 즉, 피연산자의 형식이 특정 클래스 또는 구조체인 경우 해당 클래스나 구조체에서 이 연산자의 동작을 다시 정의할 수 있습니다.코드에서 이러한 클래스나 구조체에 대해 이 연산자를 사용할 때는 다시 정의된 동작을 알고 있어야 합니다.자세한 내용은 연산자 프로시저(Visual Basic)를 참조하십시오.
예제
다음 예제에서는 And 연산자를 사용하여 두 식의 논리곱 연산을 수행합니다. 결과는 두 식이 모두 True인지 여부를 나타내는 Boolean 값입니다.
Dim a As Integer = 10
Dim b As Integer = 8
Dim c As Integer = 6
Dim firstCheck, secondCheck As Boolean
firstCheck = a > b And b > c
secondCheck = b > a And b > c
위 예제의 결과는 각각 True, False가 됩니다.
다음 예제에서는 And 연산자를 사용하여 두 숫자 식의 개별 비트에 대한 논리곱 연산을 수행합니다. 피연산자의 해당 비트가 모두 1로 설정되면 결과 패턴의 비트도 설정됩니다.
Dim a As Integer = 10
Dim b As Integer = 8
Dim c As Integer = 6
Dim firstPattern, secondPattern, thirdPattern As Integer
firstPattern = (a And b)
secondPattern = (a And c)
thirdPattern = (b And c)
위 예제의 결과는 각각 8, 2, 0이 됩니다.