1. 데이터 형식 변환이란?
- 정의: 변수를 다른 데이터 형식의 변수로 옮겨 담는 것을 변환이라고 합니다.
- 변환에는 두 가지 방식이 있습니다:
- 암시적 변환: 데이터 손실이 없는 경우 자동으로 수행.
- 명시적 변환: 데이터 손실 가능성이 있는 경우 개발자가 명시적으로 수행.
2. 정수 데이터 형식 변환
a. 작은 정수 → 큰 정수- 변환 시 문제가 발생하지 않습니다.
- 예: byte → int
- 데이터가 범위를 초과하면 오버플로우 발생.
- 예: int → byte
int a = 256;
byte b = (byte)a; // b = 0 (오버플로우 발생)
c. 부호 있는 정수 → 부호 없는 정수
- 음수 값을 변환하면 언더플로우가 발생.
- 예: int → uint
int a = -1;
uint b = (uint)a; // b = 4294967295 (언더플로우)
3. 부동소수점 데이터 형식 변환
a. 부동소수점 → 정수
- 소수점 이하를 버리고 정수 값만 남습니다. 반올림은 하지 않습니다.
- 예:
double d = 3.9;
int i = (int)d; // i = 3
b. float ↔ double 변환
- 부동소수점은 소수를 이진수로 저장하므로 정밀도 손실이 있을 수 있습니다.
- 예:
float f = 1.123456789f; // 제한된 정밀도 (7자리)
double d = f; // 정밀도가 손상될 수 있음
4. 문자와 숫자 변환
a. 문자 → 숫자
- Parse() 또는 Convert.ToInt32() 메소드를 사용.
- 예:
string s = "123";
int i = int.Parse(s); // i = 123
b. 숫자 → 문자
- ToString() 메소드를 사용.
- 예:
int i = 123;
string s = i.ToString(); // s = "123"
5. 변환의 주의점
- 정수 변환: 범위 초과 여부 확인 (오버플로우/언더플로우).
- 부동소수점 변환: 정밀도 손실 가능성 이해.
- 문자와 숫자 변환: 잘못된 입력 처리 대비 (예외 처리).
'프로그래밍 언어 및 개발 도구 > c#' 카테고리의 다른 글
변수와 메모리 구조: 프로그래머가 알아야 할 변수의 개념과 동작 원리 (2) | 2024.12.14 |
---|---|
연산자 정리: 기초부터 고급까지 알아야 할 모든 것 (0) | 2024.12.14 |
메소드 완벽 가이드: 선언부터 오버로딩, 로컬 함수까지 (0) | 2024.12.13 |
클래스: 객체 지향 프로그래밍의 핵심 (0) | 2024.12.13 |
객체와 다형성: 클래스, 구조체, 확장 메소드, 튜플까지 (2) | 2024.12.13 |