티스토리 뷰

당연하지만 사소해서 실수하게 되는 부분을 정리하자면,

데이터 타입 변환이 있다.

 


▶ 대입

 

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;
  // 비트 단위로 보면 똑같지만, 분석하는 방법의 차이
}

 

프로그래머 계산기로 계산해보면 알겠지만, 데이터 손실이 일어난다.

 

 

 


▶ 곱셈과 나눗셈

 

곱셈, 나눗셈을 할 때도 다른 데이터 타입의 경우를 조심해야 한다.

실제로 내가 어디서 나는지 모르는 어떠한 에러가.. 어디서 나는지 찾아보니 이 실수였다.

같은 데이터 타입이 아닐 경우 연산을 할 때 꼭 조심... ㅠ

 

 

 


 

'C++ > Function & Grammer' 카테고리의 다른 글

C++ : ref (참조)  (2) 2022.02.05
C++ : 메모리 구조 - Data 영역  (0) 2022.02.04
C++ : Cast (캐스트) 연산자  (0) 2021.11.22
C/C++ : #ifdef 와 #endif  (0) 2021.11.21
댓글