Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- #csharp #비트연산자 #bitwiseoperators #flagsenum #masking #시프트연산 #비트연산 #성능최적화 #csharp세미나 #하드웨어제어
- 빛썸
- #csharp #double #decimal #실수형 #정밀도 #부동소수점 #고정소수점 #금융계산 #과학계산 #csharp세미나 #닷넷기초
- #csharp #매개변수 #ref #out #params #명명된인수 #선택적매개변수 #메서드전달 #csharp세미나
- #csharp #수치형식 #numerictypes #리터럴 #형식추론 #접미사 #decimal #float #double #프로그래미링기조 #그래피포뷰
- #csharp #관계연산자 #상등연산자 #equals #비교연산 #null비교 #float비교 #csharp기초 #csharp세미나 #문자열비교
- #csharp #표현식 #배정표현식 #void표현식 #연산자 #산술연산자 #조건연산자 #표현식기초 #csharp세미나
- #csharp #부동소수점 #nan #infinity #특수값 #ieee754 #수치계산 #double #float #decimal #csharp세미나
- #csharp #산술연산자 #arithmeticoperators #기초프로그래밍 #csharp기초 #연산자우선순위 #정수연산 #실수연산 #math클래스 #나눗셈예외 #csharp세미나 #닷넷개발 #프로그래밍입문
- 무노동수입
- c#bool
- #csharp #조건연산자 #삼항연산자 #논리연산자 #단락평가 #ifelse축약 #조건문 #프로그래밍기초 #csharp세미나
- #csharp #기본값 #definiteassignment #default키워드 #초기화규칙 #구조체초기화 #null값 #csharp세미나
- 빗썸api
- c#string
- 파이썬
- USDT
- c#
- #csharp #산술오버플로우 #checked #unchecked #overflowexception #정수연산 #오버플로우처리 #csharp세미나 #디버깅 #성능최적화
- #csharp #연산자우선순위 #결합성 #operatorprecedence #연산자결합 #오른쪽결합 #왼쪽결합 #csharp세미나
- #csharp #배열 #다차원배열 #가변배열 #배열초기화 #indexrange #span #배열비교 #csharp기초 #배열세미나
- 테더
- #csharp #var키워드 #타입추론 #암묵적형식지정 #익명형식 #linq #지역변수 #csharp세미나
- #csharp #널연산자 #nulloperator #널조건부연산자 #널접합연산자 #nullcheck #csharp세미나 #nullsafe #코드안정성
- #csharp #문자열 #문자 #string #char #문자열보간 #문자열연결 #문자열비교 #형식지정자 #문자변환 #csharp세미나
- 자동매매
- #csharp #bool #boolean #논리연산자 #부울연산자 #단락평가 #조건문 #csharp기초 #삼항연산자 #csharp세미나
- #csharp #부동소수점 #반올림오차 #실수계산 #float #double #decimal #mathround #정확도비교 #csharp세미나
- #csharp #스택과힙 #메모리구조 #값형식 #참조형식 #박싱 #가비지컬렉션 #힙메모리 #메서드스택 #csharp세미나
- #csharp #수치변환 #형식변환 #자동변환 #명시변환 #convert #parse #tryparse #csharp세미나
Archives
- Today
- Total
맛있는 개발노트 (맛과 개발을 함께)
C# 세미나 자료: 산술 연산자 (Arithmetic Operators) 본문
1. 개요
C#에서 산술 연산자는 수학적인 계산을 수행하는 데 사용되는 가장 기본적인 연산자입니다. 변수 간의 더하기, 빼기, 곱하기, 나누기, 나머지 연산을 수행할 수 있으며, 실무 코드와 알고리즘 구현에서도 매우 빈번하게 사용됩니다. 본 세미나에서는 산술 연산자의 종류와 특징, 우선순위, 예외 상황, 실수 처리 등을 초급부터 고급까지 단계적으로 설명합니다.
2. 기본 이론
2.1 산술 연산자의 종류
연산자의미예시설명
+ | 덧셈 | a + b | a와 b를 더함 |
- | 뺄셈 | a - b | a에서 b를 뺌 |
* | 곱셈 | a * b | a와 b를 곱함 |
/ | 나눗셈 | a / b | a를 b로 나눔 |
% | 나머지 | a % b | a를 b로 나눈 나머지 |
2.2 연산자 우선순위
연산자에는 실행 우선순위가 있으며 괄호를 사용해 우선순위를 명확히 할 수 있습니다.
int result1 = 10 + 2 * 3; // 결과: 16
int result2 = (10 + 2) * 3; // 결과: 36
2.3 정수 vs 실수 연산
정수 연산과 실수 연산의 결과는 다를 수 있으며, 나눗셈 결과는 정수형일 경우 소수점 이하가 버려집니다.
int a = 7, b = 2;
Console.WriteLine(a / b); // 출력: 3
float x = 7f, y = 2f;
Console.WriteLine(x / y); // 출력: 3.5
3. 단계별 설명
3.1 초급: 기본 사용법 익히기
int a = 10, b = 4;
Console.WriteLine(a + b); // 14
Console.WriteLine(a - b); // 6
Console.WriteLine(a * b); // 40
Console.WriteLine(a / b); // 2
Console.WriteLine(a % b); // 2
3.2 중급: 실수 계산과 괄호의 활용
double d1 = 10.0, d2 = 3.0;
Console.WriteLine(d1 / d2); // 3.333...
Console.WriteLine(d1 % d2); // 1.0
int result = (2 + 3) * 4; // 괄호 우선 적용: 20
3.3 고급: Math 클래스와 특수 케이스
C#에서는 Math 클래스를 활용해 다양한 고급 산술 연산을 수행할 수 있습니다.
Console.WriteLine(Math.Pow(2, 5)); // 32
Console.WriteLine(Math.Sqrt(16)); // 4
Console.WriteLine(Math.Abs(-10)); // 10
- 거듭제곱, 제곱근, 절댓값 등의 고급 수치 연산 처리 가능
- 음수의 나머지 연산은 언어마다 처리 방식이 다를 수 있으므로 주의
Console.WriteLine(-7 % 3); // -1 (C#에서는 피제수의 부호 유지)
4. 주의사항 및 팁
- 정수를 0으로 나누면 런타임 예외가 발생합니다:
int a = 5, b = 0;
// Console.WriteLine(a / b); // DivideByZeroException
- 실수를 0으로 나누면 Infinity 또는 NaN이 반환될 수 있습니다:
double d = 10.0, zero = 0.0;
Console.WriteLine(d / zero); // 출력: Infinity
- 피연산자의 자료형이 다르면 자동 형 변환이 발생할 수 있습니다:
int i = 5;
double d = 2.0;
Console.WriteLine(i / d); // 출력: 2.5 (int -> double 형 변환)
5. 결론
- 산술 연산자는 C#의 기초적인 연산 도구이며 모든 계산의 출발점입니다.
- 정수와 실수 연산의 차이를 이해하고, 괄호를 활용해 의도한 결과를 명확히 해야 합니다.
- Math 클래스를 통해 다양한 고급 연산이 가능하며, 예외 상황(0으로 나누기 등)에도 대비해야 합니다.
6. Q&A
Q1. 산술 연산자에서 가장 높은 우선순위를 가진 것은 무엇인가요?
A1. 곱셈(*), 나눗셈(/), 나머지(%)가 더하기(+), 빼기(-)보다 우선합니다.
Q2. 0으로 나누면 어떤 일이 발생하나요?
A2. 정수 연산에서는 런타임 예외가 발생하고, 실수 연산에서는 Infinity 또는 NaN이 반환됩니다.
Q3. 실수형 나눗셈 결과를 정수로 변환하려면 어떻게 하나요?
A3. int result = (int)(a / b); 와 같이 명시적 형 변환을 사용해야 합니다.
Q4. 산술 연산에 사용되는 자료형이 서로 다를 경우 어떻게 처리되나요?
A4. 정수형보다 큰 실수형으로 자동 형 변환이 일어나고, 연산 결과는 더 큰 타입으로 결정됩니다.
감사합니다!
'C# 학습 > C# 언어의 기초' 카테고리의 다른 글
C# 세미나 자료: 비트별 연산자 (Bitwise Operators) (0) | 2025.04.07 |
---|---|
C# 세미나 자료: 정수 산술 넘침 점검 연산자 (checked / unchecked) (0) | 2025.04.07 |
C# 세미나 자료: 수치 변환 (Numeric Conversion) (0) | 2025.04.07 |
C# 세미나 자료: 수치 형식 (Numeric Types) (0) | 2025.04.07 |
C# 세미나 자료: 미리 정의된 형식의 분류 (0) | 2025.04.07 |