쉬프트 연산자

 

 

 

 

 

Ø비트별 연산이 필요한 경우, 그리고 2n제곱배 곱셈이 필요한 경우 사용되는 연산자이다.
Ø) x MBbit로 나타내고자 할 때, x*1024*1024*8 을 구하는 것은 복잡하다. 그리고 가독성도 떨어진다. 이럴때,  x<<23 또는 x<<20<<3 으로 표현한다.

 

 

 

 

 

연산자 

 

예의 효과 

<< 

x<<8 

왼쪽으로 8 bit shift

1bit shift 마다 값이 2배씩 증가 

>> 

x>>8 

오른쪽으로 8 bit shift

1bit shift 마다 값이 1/2배씩 감소 

 

 

 

 

 

 

비트 연산자

 

 

 

 

Ø비트 연산자
l &AND, |OR
l ^XOR, ~NOT의 의미

 

 

 

 

A 

B 

A&B 

A|B 

A^B 

~A 

0 

0 

0 

0 

0 

1 

0 

1 

0 

1 

1 

1 

1 

0

0

1

1

0

1

1

1

1

0

0

 

 

 

 

 

논리 연산자

 

 

 

 

Ø논리 연산자
l &&AND, ||OR
l ^XOR, !NOT의 의미

 

A 

B 

A&&B 

A||B 

A^B 

!A 

F 

F 

F 

F 

F 

T 

F 

T 

F 

T 

T 

T 

T 

F 

F 

T 

T 

F 

T 

T 

T 

T 

F 

F 

 

 

 

 

 

 

 

비교 연산자

 

 

 

 

 

연산자 

기능 

x=10일 경우 

== 

값이 같은가 비교 

x == 3(거짓) 

!= 

값이 다른가 비교 

x != 3() 

>, >=,

<, <= 

대소 관계를 비교 

x>11(거짓) x>=9() 

is 

객체 타입비교 연산자 

x is int () 

 

 

 

 

 

산술 연산자

 

 

 

 

구분 

연산자 

 

예 설명 

이항 

+, -, *, /, % 

k=j % 3; 

3으로 나눈 나머지 

증감 

++ 

j++; 

1증가 

-- 

j--; 

1감소 

할당연산자 

+=, -=, *=, /=, %= 

j+=3;

j%=3; 

j=j+3과 동일

j=j%3과 동일

 

 

 

 

 

연산자 sizeof

 

 

 

 

Ø주어진 데이터형식의 크기를 byte 단위로 구해준다.
Ø제약사항
lsizeof 연산이 가능한 형식: 값 형식

  : int, float, enum, struct

lunsafe 연산이다. unsafe가 명시된 코드블럭이나 메소드에서만 사용할 수 있다. (또는 컴파일시 /unsafe 옵션 사용)

 

 

 

 

 

기본 연산자

 

 

 

 

연산자

이름

의미

(x)

괄호

연산의 우선순위 명시

x.y

클래스의 메소드나 속성

f()

메소드괄호

메소드의 인자를 괄호안에 넣는다

a[x]

대괄호

배열이나 인덱서의 인덱스

checked

 

형변환시 오버플로우를 체크

unchecked

 

형변환시 오버플로우 체크 않음

typeof()

 

객체에 대한 정보를 얻음(리플렉션참고)

sizeof()

 

객체의 크기를 얻음

 

 

 

 

 

C#의 연산자 목록

 

 

 

 

 

 구분

 연산자

기본 연산자 

(x), ., f(x), a[x], x++, x--,

new, typeof, sizeof, checked, unchecked 

단항 연산자 

+, -, !, ~, ++x, --x 

산술 연산자 

+, -, *, /, % 

쉬프트 연산자 

<<, >> 

비교 연산자

<, >, <=, >=, is 

비트 연산자 

&, ^, | 

논리 연산자 

&&, || 

조건 연산자 

?: 

할당 연산자 

=, *=, /=, %=, +=, -=, <<=, >>=, &=, ^=, |= 

 

 

 

 

 

+ Recent posts