Operator , Operation   연산자 , 연산

(2023-10-01)

피 연산자 , 대입 연산, 대입 연산자, 산술 연산자, 단항 연산자, 삼항 연산자, 연산자 우선순위


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. 비교 연산,논리 연산   4. 비트 연산  


Copyrightⓒ written by 차재복 (Cha Jae Bok)               기술용어해설 후원
"본 웹사이트 내 모든 저작물은 원출처를 밝히는 한 자유롭게 사용(상업화포함) 가능합니다"