본문 바로가기
Programming/C#

C# 연산자

by Dev_카페인 2024. 6. 9.
반응형

[C#] 연산자

 

C#에서는 다양한 연산자를 사용하여 변수나 값들을 조작하고 계산할 수 있습니다. 

  1. 산술 연산자(Arithmetic Operators):
    • +: 덧셈
    • -: 뺄셈
    • *: 곱셈
    • /: 나눗셈
    • %: 나머지 (나눗셈의 나머지)
  2. 할당 연산자(Assignment Operators):
    • =: 변수에 값을 할당
    • +=: 더한 후에 할당
    • -=: 뺀 후에 할당
    • *=: 곱한 후에 할당
    • /=: 나눈 후에 할당
    • %=: 나머지를 계산한 후에 할당
  3. 비교 연산자(Comparison Operators):
    • ==: 값이 같은지 비교
    • !=: 값이 다른지 비교
    • >: 크다를 비교
    • <: 작다를 비교
    • >=: 크거나 같다를 비교
    • <=: 작거나 같다를 비교
  4. 논리 연산자(Logical Operators):
    • &&: 논리 AND
    • ||: 논리 OR
    • !: 논리 NOT
  5. 비트 연산자(Bitwise Operators):
    • &: 비트 AND
    • |: 비트 OR
    • ^: 비트 XOR (배타적 OR)
    • ~: 비트 NOT (보수)
  6. 시프트 연산자(Shift Operators):
    • <<: 비트를 왼쪽으로 이동
    • >>: 비트를 오른쪽으로 이동
  7. 기타 연산자(Miscellaneous Operators):
    • ?:: 조건부 연산자 (삼항 연산자)
using System;

class Program
{
    static void Main(string[] args)
    {
        // 산술 연산자
        int a = 10;
        int b = 3;
        Console.WriteLine($"a + b = {a + b}"); // 덧셈
        Console.WriteLine($"a - b = {a - b}"); // 뺄셈
        Console.WriteLine($"a * b = {a * b}"); // 곱셈
        Console.WriteLine($"a / b = {a / b}"); // 나눗셈
        Console.WriteLine($"a % b = {a % b}"); // 나머지

        // 할당 연산자
        int c = 5;
        c += 2; // c = c + 2;
        Console.WriteLine($"c = {c}");

        // 비교 연산자
        Console.WriteLine($"a == b: {a == b}");
        Console.WriteLine($"a != b: {a != b}");
        Console.WriteLine($"a > b: {a > b}");
        Console.WriteLine($"a < b: {a < b}");
        Console.WriteLine($"a >= b: {a >= b}");
        Console.WriteLine($"a <= b: {a <= b}");

        // 논리 연산자
        bool x = true;
        bool y = false;
        Console.WriteLine($"x && y: {x && y}");
        Console.WriteLine($"x || y: {x || y}");
        Console.WriteLine($"!x: {!x}");

        // 비트 연산자
        int d = 5; // 0000 0101
        int e = 3; // 0000 0011
        Console.WriteLine($"d & e: {d & e}"); // 비트 AND
        Console.WriteLine($"d | e: {d | e}"); // 비트 OR
        Console.WriteLine($"d ^ e: {d ^ e}"); // 비트 XOR
        Console.WriteLine($"~d: {~d}"); // 비트 NOT

        // 시프트 연산자
        int f = 8; // 0000 1000
        Console.WriteLine($"f << 2: {f << 2}"); // 왼쪽으로 2비트 이동 (32가 됨)
        Console.WriteLine($"f >> 2: {f >> 2}"); // 오른쪽으로 2비트 이동 (2가 됨)

        // 조건부 연산자
        int result = (a > b) ? a : b;
        Console.WriteLine($"result: {result}");

    }
}

 

using System;

namespace Study_CSharp
{
    class Program
    {
        static void Main(string[] args)
        {
            int x = 10;
            int y = 3;

            // +=
            x += y; // x = x + y;
            Console.WriteLine($"x += y: {x}");

            // -=
            x -= y; // x = x - y;
            Console.WriteLine($"x -= y: {x}");

            // *=
            x *= y; // x = x * y;
            Console.WriteLine($"x *= y: {x}");

            // /=
            x /= y; // x = x / y;
            Console.WriteLine($"x /= y: {x}");

            // %=
            x %= y; // x = x % y;
            Console.WriteLine($"x %= y: {x}");

            // &=
            int a = 5; // 0000 0101
            int b = 3; // 0000 0011
            a &= b;   // 0000 0001
            Console.WriteLine($"a &= b: {a}");

            // |=
            int c = 5; // 0000 0101
            int d = 3; // 0000 0011
            c |= d;   // 0000 0111
            Console.WriteLine($"c |= d: {c}");

            // ^=
            int e = 5; // 0000 0101
            int f = 3; // 0000 0011
            e ^= f;   // 0000 0110
            Console.WriteLine($"e ^= f: {e}");

            // <<=
            int g = 5; // 0000 0101
            g <<= 2;   // 0001 0100
            Console.WriteLine($"g <<= 2: {g}");

            // >>=
            int h = 16; // 0001 0000
            h >>= 2;   // 0000 0100
            Console.WriteLine($"h >>= 2: {h}");

        }
    }
}

 

 

반응형

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

C# 조건문 if, else if, else, switch, 삼항(?:)  (0) 2024.06.09
C# 자료형 변환  (0) 2024.06.09
C# 데이터 형식  (0) 2024.06.09
C# 예약어(키워드)  (0) 2024.06.09
C# .Net(닷넷) 프레임 워크란 ?  (0) 2024.06.09