쓰기/worKing

연산자

YH, jAcoB 2006. 4. 26. 11:03
수치연산자

+ (덧셈), - (뺄셈), * (곱셈), / (나눗셈), % (나머지),++ (증가),-- (감소), 단항연산자 ++,--는 하나씩 증가 하거나 감소 시키는 연산자이다.


a = 1
① sum = ++a (a값이 2로 증가한후 sum에 대입된다)==> sum = 2, a = 2
② sum = a++ (a값 1이 먼저 sum에 대입된후 a은 2가 된다)==> sum = 1, a = 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와 다르다


조건연산자

주어진 조건이 참인지 거짓인지를 판단하여 그 결과를 리턴해준다.
두가지 조건이 동시에 만족해야 참인 AND(&&)연산자
두가지 조건중 하나만 만족하면 참인 OR(||)연산자


A B A && B A || B
true true true true
true false false true
false true false true
false false false false

? 연산자는 조건이 참인 경우 " : " 기호 앞에 있는 값이 선택되고 거짓인 경우 " : "뒤에 있는 값이 선택된다.

a = 4;
b = (a < 3) ? 7 : 10;
조건이 거짓이라 : 뒤에 있는 10이 선택된다.
결과: b = 10


시프트(shift)연산자

시프트(shift)연산자는 비트값이 한자리씩 왼쪽이나(왼쪽 시프트연산)
오른쪽(오른쪽 시프트연산)으로 이동하는 것을 의미한다.


A << B (A의 값을 B번 왼쪽으로 시프트)
A >> B (A의 값을 B번 오른쪽으로 시프트)

10 << 1 (10을 왼쪽으로 1번 시프트함)
00001010 << 1 (10을 2진수 표현으로 변환한것, 8비트적용)
 0 0 0 0 1 0 1 0
   ↙↙↙↙ (왼쪽으로 한자리씩 이동함)
 0 0 0 1 0 1 0 0
← (앞의 비트값은 사라지고 뒤에 들어올 값이 없으면 무조건 0 이 들어간다.)
10100 => 20 ( 십진수로 표현)
한비트 움직일때마다 2를 곱해준 값하고 같다.