C# 문법 1주차 - 연산자

Amberjack·2023년 12월 29일
0

C# 문법

목록 보기
5/44

🖥️ 산술, 관계, 논리 연산자

▪️ 산술 연산자

연산자설명
+덧셈
-뺄셈
*곱셈
/나눗셈
%나머지

▪️ 관계 연산자

관계 연산자는 두 값을 비교하여 참 또는 거짓을 반환

연산자설명
==같음
!=다름
>
<작음
>=크거나 같음
<=작거나 같음

▪️ 논리 연산자

논리 연산자는 참 또는 거짓 값을 대상으로 사용된다.

논리합 연산자를 velog에서 표현하는 방법을 모르겠다...

🖥️ 비트 연산자

비트 단위로 데이터를 조작, 이진수 연산을 할 수 있다.

▪️ 비트 연산자

int a = 0b1100; // 12 (2진수)
int b = 0b1010; // 10 (2진수)

int and = a & b; // 0b1000 (8)
int or = a | b; // 0b1110 (14)
int xor = a ^ b; // 0b0110 (6)

int c = 0b1011; // 11 (2진수)
int leftShift = c << 2; // 0b101100 (44)
int rightShift = c >> 1; // 0b0101 (5)

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

▪️ bit shift로 곱셈, 나눗셈 하기

  • Left Shift :

    🤔 a << b는 다음과 같다
    😎 a * 2^b

  • Right Shift :

    🤔 a >> b는 다음과 같다
    😎 a / 2^b

따라서 계산하고자 하는 숫자가 2^n 이라면 시프트 연산자로 계산하는 것이 빠르다!

🖥️ 복합 대입 연산자와 증감 연산자

▪️ 복합 대입 연산자

연산자예시설명
+=x += yx = x + y
-=x -= yx = x - y
*=x *= yx = x * y
/=x /= yx = x / y
%=x %= yx = x % y

▪️ 증감 연산자

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

연산자설명
++1 증가
--1 감소

🧮 연산자 우선순위

▪️ 연산자 우선순위?

  • 연산자 우선순위는 수식 내에서 연산자가 수행되는 순서!
  • 우선순위에 따라 연산 결과가 달라질 수 있다!
  1. 괄호() : 괄호로 감싸진 부분은 가장 높은 우선순위로 계산
  2. 단항 연산자 : ++, --, +, -, !는 괄호 다음으로 높은 우선순위를 가진다.
  3. 산술 연산자 : *, /, %, +, -는 단항 연산자보다 우선순위가 낮다.
  4. 시프트 연산자 : <<, >>는 산술 연산자보다 우선순위가 낮다.
  5. 관계 연산자 : <, >, <=, >=, ==, !=는 시프트 연산자보다 낮다.
  6. 논리 연산자 : &&, ||는 관계 연산자보다 우선순위가 낮다.
  7. 할당 연산자 : =, +=, -=, *=, /=, %= 등은 논리 연산자보다 우선순위가 낮다.

0개의 댓글