Operator, Operation   연산자, 연산

(2020-01-14)

피 연산자, 대입 연산, 대입 연산자, 산술 연산자, 단항 연산자, 삼항 연산자, 비트 연산자, 시프트 연산

1. [전산]  연산 (演算) 이란?컴퓨터(프로그램)에서, 데이터에 대한 연산/조작은, 
     - 통상의 사칙연산 이외에, 
     - 값(value)에 대응되는 메모리 셀 간 이동,비교,교환,연결,할당 뿐 만 아니라,
     - 논리 판단, 자료형 판단, 문자열 처리, 이미지 편집 등이 추가적으로 요구됨 
 
  ㅇ 주요 연산 종류
     - 산술 연산 (가감승제,나머지,거듭제곱 등)
     - 비교 연산 (같음/다름,대/소의 구분)
     - 논리 연산 (AND,OR,NOT,XOR)
     - 교환 연산 (Swap)
     - 비트 연산 (비트 단위 이동,논리 연산)
     - 시프트 연산 (비트/바이트/워드 단위 이동) 등


2. [전산]  프로그램연산,연산자,피 연산자 이란?연산자 (演算子)
     - 프로그램 내 데이터 조작에 쓰이는 기호
        . 특정 작업을 수행 지시하는 기호

     * [참고] 
        . 연산자는, 피 연산자를 받아들여, 연산 결과값을 리턴하므로 함수와 성격이 같음
        . 언어연산자 例) C 연산자, 자바스크립트 연산자, MATLAB 연산자 등 참조

  ㅇ 피 연산자
     - 연산자의 작업 대상 (변수,상수,리터럴,표현식)

  ㅇ 연산의 평가 및 결과 반환
     - 표현식 단위로 평가(evaluation)되고,
     - 그 결과 값을 반환함


3. [전산]  프로그램 연산자 주요 종류

  ㅇ 대입 연산자 (Assignment Operator)
     -  (대입) =

     * `=` 기호는 수학에서의 동치가 아니라, 대입문에 쓰이는 연산자 임

  ㅇ 산술 연산자 (Arithmetic Operator)
     -  (덧셈) +, (뺄셈) -, (곱셈) *, (나눗셈) /, (나머지) %, (거듭제곱) ** 또는 ^

     *  산술 연산자는 항상 엄격하게 `연산 우선순위`에 따라 수행됨

  ㅇ 단항 연산자 (Unary Operator)
     -  (양수) +, (음수) -, (증가) ++, (감소) --

     * 例)  `= ++i`(전위 증가 단항 연산자), `= i++`(후위 증가 단항 연산자) 비교
        .  `= ++i` : 먼저 평가하고(먼저 i에 1을 더함), 그 다음에 대입
        .  `= i++` : 먼저 대입하고, 그 다음에 평가(후에 i에 1을 더함)
     * 例) i++ 및 i-- 결과에 따른 i 값은 같게 됨(i 자체는 변화 없음)

  ㅇ 삼항 연산자 (Ternary Operator) 또는 조건 연산자
     -  [조건식] ? [참일 경우 반환값] : [거짓일 경우 반환값] 

  ㅇ 비교 연산자 (Comparing Operator) 또는 관계 연산자 (Relational Operator)
     -  (greater than) >,  (greater than or equal to)  >=
     -  (less than) <,  (less than or equal to) <=
     -  (equal to) ==,  (not equal to) ~= 또는 !=

  ㅇ 논리 연산자 (Logical Operator) 
     -  & 또는 &&  (논리곱/AND)
     -  | 또는 ||  (논리합/OR)
     -  ! 또는 ~  (논리부정/NOT)
     -  ^  (배타논리합,XOR)

  ㅇ 비트 연산자 (Bit Operator)
     - 비트 단위 논리 연산자 
        . ~ (비트 단위 부정), & (비트 단위 논리곱), | (비트 단위 논리합), ^ (비트 단위 XOR)
     - 비트 간의 시프트 연산자
        . << (좌로 1 비트 이동), >> (우로 1 비트 이동)

  ㅇ 그룹 연산자 (Group Operator) : ( )
     - 계산 순서를 명시적으로 우선 지정

     * 연산의 결합 순위를 명시적으로 지정 가능

  ㅇ 주소 연산자 (Address Operator) : *, &  (C 언어에 한 함)


4. [전산]  프로그램 연산자의 우선순위와 결합순서

  ※ [참고] ☞ C 연산자 등 참조
     - 어떤 표현식 내 복수의 연산자들이 포함되어 있을 때,
     - 어떤 순서로 처리할 것인가를 결정하게 하는 것

  ㅇ 우선 순위
     - 연산자별로 매겨진 순위(등급)
     - 例) 통상, 곱셈이 덧셈 보다, 거듭제곱이 곱셈 보다, 우선순위가 높음

  ㅇ 결합 순서
     - 여러 결합된 연산자들이 동일 우선순위일 때,
     - 어떤 방향으로 연산순서화할 것을 정하는 규칙


[연산,연산자,수식] 1. 연산,연산자 2. 식,수식,표현식 3. 비교 연산,논리 연산

 
        최근수정     요약목록     참고문헌