반응형

연산자는 보통  더하기, 빼기, 나누기 등등 수학에서 

여러 가지 계산을 하는데에 쓰이는 기호를 말하는데,

 

'프로그래밍'에서는 이런 연산자가

여러 계산이나 또는 , 코딩을 더욱 유용하게 만들기 위해 사용되는 여러 연산자들을 말한다.

 

다음과 같은 연산자들이 있다.

산술 연산자,

관계 연산자,

비트 연산자,

논리 연산자,

대입 연산자,

조건 연산자,

 

각각의 연산자들의 기호 및 의미들은 다음과 같다.

 

**나눗셈
   
   
   
   
   
   
   
   

연산자 % 는 유용한 코딩에 자주 사용된다.

**증감, 감소 연산자에는 두 가지의 종류가 있다.

++aa

aa++  이렇게    전치, 후치 연산자로 2가지 종류가 있는데 특징은

전치는 계산되기 전에 먼저 증가되는 연산이고,

후치는 계산되고 난 후에 증가되는 연산이다.

ex)     b= ++a + ++a      그리고 a가 3이라면  계산하기 전 a가 2번 증가하므로   b 정답은 '10'이 된다.

c= a++  +  a++      인 경우,   a가 3이라면 후치 증감이므로   c 정답은 6이 된다.

 

관계 연산자
== 같다
!= 같지 않다
> 크다
>= 크거나 같다
< 작다
<= 작거나 같다

**관계 연산자는 왼쪽을 기준으로 한다.

a <b   a가 b보다 작은가?         

 

비트 연산자
기호 의미
& and  모든 비트가 1일 때 1
^ xor  모든비트가 같으면 0,  다르면 1
| or    모든 비트가 하나라도 1이면 1
~ not   부정, 역의 의미로   비트가 1이면 0 ,  0이면 1
<< 비트를 왼쪽으로 쉬프트
>> 비트를 오른쪽으로 쉬프트

**비트는 a=9인 경우 1001 이렇게 오른쪽부터 1,2,4 이진법으로 계산되는데

<<  왼쪽 쉬프트 경우,    1001이  쉬프트 하여  10010으로 18  즉, 2배가 되는 계산이 되고,

>> 오른 쉬프트의 경우 1001은 100 2로 나누기되어 4가 된다.

 

**  부정(~)의 경우

정수형 a=9이라면 

a는 4비트 정수 9    =>     0000 0000 0000 1001

~a는 부정 not을 취하면 =>  1111   1111   1111 0110

위 이진수는 앞자리 1이므로 음수 이므로

2의 보수화를 취하면 그 값은 10  즉   ~a  =-10이 된다.

 

<<2의 보수화>>

2진법에서 앞자리 1은 음수로 취급된다.

음수의 경우 2의 보수화를 취하여 그 값을 구하는데

그 방법은 모든 비트를 에 반대를 취하고 (0은 1, 1은 0)

그 결과에 1을 더한다.

 

 

논리 연산자
기호 의미
! not 부정의 의미
&& and   모두 참일 경우 참
|| or    하나라도 참일 경우 참

**비트 연산자는 &, | 한 개이고

논리 연산자는 &&, || 2개가 쓰인다.

 

대입 연산자
기호 의미
a+=b a에 b를 더한다.    a+b
a-=b a에서 b를 뺀다   a-b
a*=b a에 b를 곱한다   a*b
a/=b a를 b로 나눈다.  a/b
a%=b a를 b로 나눈 나머지  a%b
a<<=b b만큼 a를 왼쪽 쉬프트
a>>=b b만큼 a를 오른쪽 쉬프트

 

조건 연산자

 

조건?  수식 1  : 수식 2

 

조건 이 참이면 수식 1을, 조건이 거짓이면 수직 2를 실행시키게 하는 연산자이다.

 

 

 

 

 

연산자 우선순위

위처럼 여러 연산자들이 있는데

여러 연산 자들이 있을 경우  연산자들의 우선순위는 다음과 같다.

(제일 위에 있는 연산자 우선)

 

단항 연산자  ( ++, ~)

산술 연산자 ( / , + )

시프트 연산자 (<<,>>)

관계 연산자    (== ,!=)

비트 연산자   (& , | , ^)

논리 연산자  (&&  , || )

조건 연산자 (? : )

대입 연산자 ( = , += , /=)

순서 연산자 ( , )

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기