C#/Theory

[C#] 연산/연산자

Jee-U 2025. 2. 5. 16:16


산술연산자

+, - 등 사칙연산 및 %(나머지) 

 

관계연산자

<, >, =< 등 외에 기억할 것

  • = : 넣어준다
  • == : 일반 = 과 같은의미, 같다
  • != : ==와 반대, 다르다

 

논리연산자 

- 논리연산자는 참(True) 또는 거짓(False) 값을 대상으 로 사용

  • && : 논리곱(And)
  • || : 논리합(or)
  • ! : 논리부정(Not)

 

비트연산자

비트 단위로 연산을 수행하는 연산자, 2진수로 표현

  • & (And) : 두 비트값이 모두 1일때 1을 반환 
  • | (Or) : 두 비트값 중 하나라도 1일때 1을 반환
  • ^ (Xor)  : 두 비트값이 서로 다를때 1을 반환
  • ~ (Not) : 비트 값의 보수(complement)를 반환
  • <<(왼쪽 시프트) : 비트를 왼쪽으로 이동
  • >>(오른쪽 시프트) : 비트를 오른쪽으로 이동
int a = 0b1100; // 12 (2진수)
int b = 0b1010; // 10 (2진수)

int and = a & b; // 0b1000 (8) - 둘다 1인곳을 제외하고 1을 버림
int or = a | b; // 0b1110 (14) - 둘중 하나라도 1인 곳은 1을 가져감
int xor = a ^ b; // 0b0110 (6) - 둘다 다른곳만 1을 가져감

int c = 0b1011; // 11 (2진수)

int leftShift = c << 2; // 0b101100 (44) 왼쪽으로 두칸 이동, 빈 곳은 0으로
int rightShift = c >> 1; // 0b0101 (5) 오른쪽으로 1칸 이동, 지나온 곳은 버려주기

int d = 0b1100; // 12 (2진수)
int bit3 = (d >> 2) & 0b1; // 0b0011 & 0b1 = 0b11 & 0b1 = 0b1 (1) (3번째 비트)
d |= 0b1000; // 0b1100 | 0b1000 = 0b1100 (12)

 

 

대입연산자 / 복합대입연산자

대입 연산자 : =

복합 대입 연산자 : +=, -=, /=, %=

int a = 10;
int b = 3;

a += b; // a = a + b와 같음, a와 b를 더한 값을 a에 다시 대입 a=13
a -= b; // a = a - b와 같음, a와 b를 뺀 값을 a에 다시 대입 a=7
a *= b; // a를 b로 곱한 몫 a=30
a /= b; // a를 b로 나눈 몫 a=3
a %= b; // a를 b로 나눈 나머지 a=1

 

 

증감연산자

변수의 값을 1 증가시키거나 감소시키는 연산자

  • ++ : 1 증가
  • -- : 1 감소
int a = 5;

Debug.Log(a++);  // 출력값 5, a = 6
Debug.Log(++a);  // 출력값 6, a = 6
  • a++ : 출력 후 1 증가 / a를 먼저 출력 후 증가 (후위)
  • ++a : 1 증가 후 출력 / a를 먼저 증가 후 출력 (전위)

연산자 우선순위는 () 가 제일 높으며, 다른 연산자보다 !! 는 우선순위가 낮다.

 

 

Console.WriteLine 을 통해 출력할 수 있다.

예) Console.WriteLine(1+1);

'C# > Theory' 카테고리의 다른 글

[C#] 메서드, 매개변수, 반환(return), void  (0) 2025.02.19
[C#] 조건문 - 홀/짝수 구분, 등급 출력 등  (0) 2025.02.10
[C#] 문자열 처리 기능  (0) 2025.02.06
[C#] 기초, Using / Console 등  (0) 2025.02.05
[C#] 기초부터 1  (0) 2025.01.08