개발 언어 & 프레임워크/C# 프로그래밍 마스터하기
데이터 형식 변환: 정수, 부동소수점, 문자와 숫자의 변환 이해하기
프로잉2
2024. 12. 14. 00:01
728x90
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. 변환의 주의점
- 정수 변환: 범위 초과 여부 확인 (오버플로우/언더플로우).
- 부동소수점 변환: 정밀도 손실 가능성 이해.
- 문자와 숫자 변환: 잘못된 입력 처리 대비 (예외 처리).
728x90