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이 됩니다.