C++/Function & Grammer
C++ : 데이터 타입 변환
채애
2022. 2. 5. 20:32
당연하지만 사소해서 실수하게 되는 부분을 정리하자면,
데이터 타입 변환이 있다.
▶ 대입
1. int 형 변수들을 short, float 등의 다른 데이터 타입으로 변환하면?
2. -1 인 int 값을 uint 에 대입한다면?
int main()
{
int hp = 33333;
short hp2 = hp; // 윗쪽 비트 데이터가 짤린 상태로 저장. 데이터 손실
float hp3 = hp; // 실수(float)로 변환할 때 정밀도 차이로 인해 데이터 손실
hp = -1;
unsigned int hp4 = hp;
// 비트 단위로 보면 똑같지만, 분석하는 방법의 차이
}
프로그래머 계산기로 계산해보면 알겠지만, 데이터 손실이 일어난다.
▶ 곱셈과 나눗셈
곱셈, 나눗셈을 할 때도 다른 데이터 타입의 경우를 조심해야 한다.
실제로 내가 어디서 나는지 모르는 어떠한 에러가.. 어디서 나는지 찾아보니 이 실수였다.
같은 데이터 타입이 아닐 경우 연산을 할 때 꼭 조심... ㅠ