'operator'에 해당되는 글 2건

  1. 2015.05.20 C/C++의 비트 연산자의 종류
  2. 2015.05.19 C/C++의 연산자 종류

 비트 연산자는 피연산자의 같은 자리에 있는 비트끼리의 연산을 수행한다. 마이크로콘트롤러(아두이노 등) 프로그래밍에서는 특정 레지스터의 비트값을 조작해야 하는 일이 매우 빈번하기 때문에 비트 연산에 대해서는 자세히 알아두는 것이 좋다. 사실 PC와 같은 환경에서는 비트 연산이 그리 유용하지 않으나 마이크로콘트롤러 프로그래밍에서는 그렇지 않다는 것을 실제로 실습을 진행해 보면 알게 될 것이다.


 다음 표에 비트 연산자의 종류와 동작에 대해서 정리하였다.


표 3.6.1 비트연산자의 종류

비트연산자

의미

수행 동작

&

논리-and

두 피연산자의 bit-wise AND

|

논리-or

두 피연산자의 bit-wise OR

^

논리-xor

두 피연산자의 bit-wise XOR

~

논리 -not

피연산자의 bit-wise NOT

<<

왼쪽shift

비트의 위치를 왼쪽으로 이동

>>

오른쪽shift

비트의 위치를 오른쪽으로 이동


비트 연산자는 정수형 데이터(char, int, short, long, long long 과 각각의 unsigned형)에만 적용되며 실수형 (float, double, long double)에는 사용하지 않는다는 것에 주의해야 한다.


 이항 연산인 & (and), | (or), ^ (xor) 세 연산자의 경우 비트 연산은 데이터의 같은 위치에 있는 비트끼리 연산이 이루어진다는 사실을 숙지해야 한다. 또한 연산 기호가 논리 연산자(&&, ||, ~)와 비슷해서 혼동하기 쉬우니 주의해야 한다.


C++ 강좌 전체 목록 >>>


c{c++},n{c0049}

'프로그래밍언어.Lib > C,C++' 카테고리의 다른 글

C/C++의 bitwise-or 연산자 (|)  (0) 2015.05.20
C/C++의 bitwise-and 연산  (0) 2015.05.20
C/C++의 대입연산자  (0) 2015.05.20
C/C++의 증감연산자(++, --)  (0) 2015.05.19
C/C++의 조건 연산자(?:)  (0) 2015.05.19
Posted by 살레시오
,

 연산자(operator)는 주어진 데이터에 대해서 계산이나 비교 등을 수행하여 결과 값을 얻어내는 명령어를 말한다. C/C++ 에는 다양한 연산자가 마련되어 있으며 일반적으로 분류하면 다음 표와 같다.


[표 1] 연산자의 종류

구분

연산자

비고

산술 연산자

+  -  *  /  %

%는 나머지 연산자

부호 연산자

+  -

부호 표시

관계 연산자

<  >  <=  >=  ==  !=

대, 소, 등가 관계

논리 연산자

&&  ||  !

AND, OR, NOT

조건 연산자

? :

참, 거짓

증감 연산자

++  --

1증가, 1감소

대입 연산자

=

+=  -=  *=  /=  %=

&=  |=  ^=  <<=  >>=

오른쪽의 값을 왼쪽에 대입

비트 연산자

&  |  ~  ^  <<  >>

AND, OR, NOT, XOR, shift

형변환 연산자

(데이터형)

sizeof 연산자

sizeof

데이터 형의 크기

쉼표 연산자

,

구분

간접 지정 연산자

( ) [ ] -> *

함수, 배열, 구조체, 포인터


연산의 대상이 되는 수치나 변수 값을 피연산자라고 하며, 연산자는 피연산자의 개수에 따라서 이항(二項) 연산자와 단항(短項) 연산자로 나뉜다.


  • 피연산자 : 연산의 대상이 되는 수치나 변수.

  • 이항 연산자 : 피연산자가 두 개인 연산자.

  • 단항 연산자 : 피연산자가 하나인 것.


예를 들어서 덧셈(+)이나 뺄셈(-)은 피연산자가 하나이면 연산을 수행하지 못하고 반드시 두 개가 있어야 그 두 수를 더하거나 뺄 수 있으므로 이항 연산자이다. 이에 반해서 부호연산자(+. -)는 하나의 항의 부호를 규정하는 것이므로 피연산자가 하나이고 단항 연산자이다.


C++ 강좌 전체 목록 >>>


c{c++},n{c0041}

'프로그래밍언어.Lib > C,C++' 카테고리의 다른 글

3.2 산술 연산자와 부호 연산자  (0) 2015.05.19
3.3 형변환  (0) 2015.05.19
C/C++의 goto 명령  (0) 2015.05.19
C/C++의 continue 명령  (0) 2015.05.19
C/C++의 break 명령  (0) 2015.05.19
Posted by 살레시오
,