Operator, Operation   연산자, 연산

(2019-03-25)

피 연산자, 대입 연산, 대입 연산자, 산술 연산자, 비교 연산, 비교 연산자, 논리 연산자, 단항 연산자, 삼항 연산자, 비트 연산자

1. [전산]  연산 (演算) 이란?

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


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

  ㅇ 연산자 평가
     - 연산자표현식 단위로 그 안에서 평가(evaluation)되어짐

  ㅇ 프로그래밍 언어연산자 例) 
     - C 연산자, 자바스크립트 연산자, MATLAB 연산자 등 참조


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

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

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

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

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

  ㅇ 단항 연산자 (Unitary 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)
     - 때론, && (논리곱/AND),  || (논리합/OR),  ! (논리부정/NOT), ^ (배타논리합,XOR)

  ※ (비교 연산자, 논리 연산자)의 특징
     - 비교 연산자,논리 연산자를 함께 사용하여 만든 논리식들을 결합시키면,
        . 더욱 복잡한 논리식을 정의 가능
     - 비교 연산자,논리 연산자는 프로그램 제어 구조(선택 구조,반복 구조) 구현에 쓰임
        . 이들 연산자는 비교 대상 값의 자료형과 무관하게, 
        . 그 결과를 무조건 Boolean 자료형으로 반환

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

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

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

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


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

  ㅇ 어떤 표현식 안에 복수의 연산자들이 포함되어 있을 때,
     - 어떤 순서로 처리할 것인가를 결정하게 하는 것

  ㅇ 결합순서 : 연산자들이 동일 우선순위일 때, 어떤 방향으로 연산을 할 것인지를 정하는 규칙


[프로그래밍 기타일반] 1. 프로그래밍 기타 용어 2. 래퍼 함수 3. 핸들 4. 플러그인 5. 연산자 6. 코드 리펙토링 7. 널 문자
  1.   기술공통
  2.   기초과학
  3.   진동/파동
  4.   방송/멀티미디어/정보이론
  5.   전기전자공학
  6.   통신/네트워킹
  7.   정보기술(IT)
        1. 정보기술
    1.   전산기초
    2.   컴퓨터구조
    3.   프로그래밍
          1. 프로그램, 프로그래밍
          2. 프로그래밍 기법
      1.   프로그래밍 언어론
      2.   구조적 프로그래밍
      3.   객체지향 프로그래밍
      4.   자료표현코드
      5.   자료구조
      6.   알고리즘
      7.   시스템 소프트웨어
      8.   프로그래밍언어 종류
      9.   프로그래밍 기타일반
        1.   1. 프로그래밍 기타 용어
            2. 래퍼 함수
            3. 핸들
            4. 플러그인
            5. 연산자
            6. 코드 리펙토링
            7. 널 문자
    4.   데이터베이스
    5.   소프트웨어 공학
    6.   운영체제
    7.   정보보호/보안
    8.   IT 기타기술
  8.   공업일반(기계,재료등)
  9.   표준/계측/품질
  10.   기술경영

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