Main Content

and, &

논리 AND 구하기

설명

예제

A & B는 입력값 AB의 논리 AND 연산을 수행하고 논리값 1(true)이나 논리값 0(false)으로 설정된 요소가 포함된 배열 또는 테이블을 반환합니다. AB의 같은 위치에 0이 아닌 요소가 포함되어 있으면 출력값의 해당 요소가 논리값 1(true)로 설정됩니다. 그렇지 않으면 요소는 0으로 설정됩니다.

비트별 논리 AND 연산은 bitand를 참조하십시오.

and(A,B)A & B를 실행하는 또 다른 방법이지만 거의 사용되지 않습니다. 이 표현식은 클래스에 대한 연산자 오버로드를 지원합니다.

예제

모두 축소

두 행렬의 논리 AND 연산을 수행합니다. 결과 행렬에서는, 두 행렬이 모두 0이 아닌 값을 포함하는 위치의 요소만 논리값 1(true)로 설정됩니다.

A = [5 7 0; 0 2 9; 5 0 0]
A = 3×3

     5     7     0
     0     2     9
     5     0     0

B = [6 6 0; 1 3 5; -1 0 0]
B = 3×3

     6     6     0
     1     3     5
    -1     0     0

A & B
ans = 3x3 logical array

   1   1   0
   0   1   1
   1   0   0

and에 대한 진리표를 만듭니다.

A = [true false]
A = 1x2 logical array

   1   0

B = [true; false]
B = 2x1 logical array

   1
   0

C = A&B
C = 2x2 logical array

   1   0
   0   0

R2023a 이상

두 개의 테이블을 만든 다음 두 테이블의 논리 AND 연산을 수행합니다. 행 이름(두 테이블에 모두 있는 경우)과 변수 이름은 동일해야 하지만, 순서는 같지 않아도 됩니다. 출력값의 행과 변수는 첫 번째 입력값과 순서가 동일합니다.

A = table([0;2],[0;4],VariableNames=["V1","V2"],RowNames=["R1","R2"])
A=2×2 table
          V1    V2
          __    __

    R1    0     0 
    R2    2     4 

B = table([4;2],[3;0],VariableNames=["V2","V1"],RowNames=["R2","R1"])
B=2×2 table
          V2    V1
          __    __

    R2    4     3 
    R1    2     0 

A & B
ans=2×2 table
           V1       V2  
          _____    _____

    R1    false    false
    R2    true     true 

입력 인수

모두 축소

피연산자로, 스칼라, 벡터, 행렬, 다차원 배열, 테이블 또는 타임테이블로 지정됩니다. 입력 인수 AB는 동일한 크기이거나 호환되는 크기를 가져야 합니다. 후자의 예로는 AM×N 행렬이고 B가 스칼라이거나 1×N 행 벡터인 경우를 들 수 있습니다. 자세한 내용은 기본 연산에 대해 호환되는 배열 크기 항목을 참조하십시오.

테이블이거나 타임테이블인 입력값은 다음 조건을 충족해야 합니다. (R2023a 이후)

  • 입력값이 테이블 또는 타임테이블인 경우 해당 테이블의 모든 변수는 연산을 지원하는 데이터형을 가져야 합니다.

  • 입력값 중 하나만 테이블 또는 타임테이블인 경우 다른 입력값은 숫자형 배열이거나 논리형 배열이어야 합니다.

  • 두 입력값이 모두 테이블 또는 타임테이블인 경우에는 다음을 충족해야 합니다.

    • 두 입력값의 크기가 동일하거나, 두 입력값 중 하나가 행이 한 개 있는 테이블이어야 합니다.

    • 두 입력값이 모두 동일한 이름의 변수를 가져야 합니다. 그러나 각 입력값의 변수 순서는 다를 수 있습니다.

    • 두 입력값이 모두 테이블이고 두 테이블 모두 행 이름을 갖는 경우 두 테이블의 행 이름은 동일해야 합니다. 그러나 각 입력값의 행 이름 순서는 다를 수 있습니다.

    • 두 입력값이 모두 타임테이블인 경우 두 테이블의 행 시간값은 동일해야 합니다. 그러나 각 입력값의 행 시간값 순서는 다를 수 있습니다.

데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | table | timetable

  • 여러 개의 논리 연산을 함께 연결할 수 있습니다(예: A & B | C).

  • 기호 &&&는 MATLAB®에서 각각 다른 연산을 수행합니다. 여기서 설명하는 요소별 AND 연산자는 &이고, &&는 쇼트서킷 AND 연산자입니다.

  • if 또는 while 루프 표현식에 사용되는 경우에 한해, 요소별 &| 연산자는 쇼트서킷을 사용하여 표현식을 실행합니다. 그 밖의 경우에는 && 또는 ||을 지정하여 쇼트서킷 동작을 명시적으로 지정해야 합니다. 자세한 내용은 Short-Circuit AND 항목과 Short-Circuit OR 항목을 참조하십시오.

확장 기능

C/C++ 코드 생성
MATLAB® Coder™를 사용하여 C 코드나 C++ 코드를 생성할 수 있습니다.

GPU 코드 생성
GPU Coder™를 사용하여 NVIDIA® GPU용 CUDA® 코드를 생성할 수 있습니다.

HDL 코드 생성
HDL Coder™를 사용하여 FPGA 및 ASIC 설계를 위한 VHDL, Verilog 및 SystemVerilog 코드를 생성할 수 있습니다.

버전 내역

R2006a 이전에 개발됨

모두 확장